【Docker】Dockerを導入しよう〜M1・Windows〜

Dockerを導入しよう!

こんにちはRujuuです。

普段プログラムを書いているとき、別のPCにプログラムを移したら動かなくなった経験はありませんか?

または、過去にどんなライブラリをインストールしたか分からなくなったことはありませんか?

今回はそんな悩みを解決する、エンジニア必須ツール「Docker」のインストール方法を、Mac(M1)・Windowsの両OSの場合に分けて紹介します。

Dockerのインストール Mac(M1)

まずは、Mac(M1チップ)へDockerをインストールしてみます。

以下のサイトにアクセスしましょう。

アクセスしたら、Docker Desktopのプルダウンで「Download for Mac – Apple Chip」を選択しクリックします。

Docker、mac用インストールファイル選択

しばらくすると「Docker.dmg」がダウンロードされるので、ファイルを開いてDockerのアイコンをApplicationsフォルダアイコンにドラック&ドロップします。

これでインストールされたはずなので、Spotlight検索でDockerを開きます。

spotlightでdocker検索

もしかすると以下のような2つの警告が出るかもしれませんが、それぞれ開く・OKを選択してください。

macのセキュリティ通知
dockerのアクセス許可通知

警告ウィンドウを全て承認したら、右下の「I accept the terms」にチェックを入れて「Accept」ボタンを押します。

するとDocker Desktopの画面が表示されます!

Dockerのインストール Windows

次に、Windowsでインストールしてみましょう。

先ほど同様、下記リンク先へアクセスします。

今度はWindowsなので以下のように「Download for Windows」をクリックします。

dockerのサイトでwindowsのダウンロードファイルを選択。

クリックすると「Docker Desktop Installer.exe」がインストールされるので、このファイルをダブルクリックしてインストールを開始します。

インストールが開始する前に「このアプリがデバイスに変更を加えることを許可しますか?」のような通知が出た場合は、許可してください。

少しすると以下のような画面が出ますが、そのままokで大丈夫です。

Hyper-vを使用するかの選択とショートカット作成の可否。

インストールが完了すると「Close」ボタンが出てくるのでクリックするとインストール完了です!

デスクトップにDocker Desktopというクジラみたいなアイコンが増えているはずなので、クリックします。

すると利用規約の様なものが表示されるので「I accept the terms」にチェックをいれ、「Accept」ボタンをクリックします。

docker利用規約承認画面

「Get started with Docker in a few easy steps!」と書かれた画面が出た場合は、Startを押してもよいのですがめんどくさいので「Skip tutorial」を選択します。(お好きな方を選んでいただいて大丈夫です)

Dockerを使ってみよう!

以上でDockerのインストールが完了したので、実際に簡単にですが使ってみましょう。

お好きな場所に「test」フォルダーを作成して、その中に「Dockerfile」と「docker-compose.yml」、「src」フォルダーを作成してください。

Dockerのコンテナ設定

まず、コードエディタやテキストエディタを使用して、Dockerfileを編集していきます。

最初はDockerfileもdocker-compose.ymlの中身も分からなくて当然なので、一旦はこういうものだと思ってください。

これらのファイルの書き方はまた別の記事で紹介します。

Dockerfile
# pythonのバージョン指定
FROM python:3

# Linuxに必要なソフトインストール
RUN apt-get update
RUN apt-get -y install locales && localedef -f UTF-8 -i ja_JP ja_JP.UTF-8

# 日本語対応、日本のタイムゾーンへ変更
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
ENV TZ JST-9
ENV TERM xterm

次に、docker-compose.ymlを書いていきます。

docker-compose.yml
# version指定
version: '3.7'
services:
  python:
    # 作成するコンテナ名指定
    container_name: 'python'
    # Dockerfileが置いてある場所を相対パスで指定
    build: .
    # コンテナ内のワーキングディレクトリを指定
    working_dir: '/home/app/'
    # コンテナを持続させる設定
    tty: true
    # ローカルとコンテナ内で、共有するフォルダーを指定
    volumes:
      - ./src:/home/app/src

これでDockerの設定は完了です。

Pythonのプログラム作成

続いて、「src」フォルダの中に「test.py」ファイルを作成して下記のコードを記述します。

test.py
# Hello World!!と出力
print('Hello World!!')

これで必要なファイルは全て揃いました。

Docker起動

さて、お待ちかねのDockerの起動をしていきます。

コマンドプロンプトやTerminalなどのCUIで、作成した「test」フォルダまで移動します。

testフォルダについたら、下記のコマンドでDockerのコンテナを作成します。

bash
docker-compose build

以下のような内容が表示がされれば、コンテナ作成成功です。

dockerコンテナbuild画面

次に、作成したDockerのコンテナを下記のコマンドで起動します。

bash
docker-compose up

以下のような表示がされれば成功です。

dockerコンテナ起動画面

Pythonファイル実行

Dockerが起動したので、早速先程書いたPythonのコードを実行しましょう。

コマンドプロンプトやTerminalの新しいウィンドウ、またはタブを開きます。

そこで下記のコマンドを入力します。

bash
docker exec python python ./src/test.py

コマンドが何をしているかを軽く説明すると、

docker exec python python ./src/test.py

青い下線の部分でコンテナ内でのコマンドを実行するよ〜と指示をしており、黄色い下線の部分で入るコンテナ名を指定しています。

そして最後の緑の下線でpythonを使って./src/test.pyのファイルを実行する指示を出しています。

実行すると「Hello World!!」と表示されるはずです!

Dockerを停止させる

上手くPythonを実行する事ができたら、Dockerを停止させてみましょう。

先程の「docker-compose up」したコマンドプロンプト・Terminalへ移動し、Windowsなら「ctrl+c」、Macなら「control+c」を入力します。

すると以下のようにコンテナが停止するので、Docker Desktopの画面を閉じてしまいましょう。

dockerコンテナdown

おわりに

ここまで読んでいただき、ありがとうございました。

上手くDockerを起動させてプログラムを実行できたでしょうか?

もし上手くいかなかった場合や、より良い方法がありましたら優しくコメントいただけると嬉しいです。

次回は、今回のDockerを活用し、Pythonで仕事を自動化する方法について書きます!

ではまたどこかで!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA