はじめに
みなさんDockerを使っていますか?
環境をさくっと用意できるのは便利ですよね!
今回はMacにDockerをインストールします。
現時点で最新のmacOSであるMontereyで、M1チップのMacを使い手順を解説します。
他にも私のブログで、Dockerについて解説している記事がありますのでご覧ください。
WindowsにDockerをインストールする手順は、以下の記事をご覧ください。
【紹介】個人開発
Mac向けの、定型文の挿入も可能なクリップボード履歴管理アプリです。
Windows版は以前からありましたが、基本的な使い方はMac版も同じですので、もしよかったらダウンロードしてみてください。
Docker Desktopの有料化
2021年9月、Docker Desktopは、条件を満たした利用について有料になりました。
個人はこれまで通り無料で利用できますが、企業での利用は注意ですね。
Docker Desktopは、スモールビジネス(従業員数250名未満かつ年間売上高1000万ドル未満(訳注:1ドル110円換算で11億円))、個人利用、教育機関、非商用のオープンソースプロジェクトであれば、引き続き無料でご利用いただけます。
https://www.publickey1.jp/blog/21/docker_desktop250100011.html

ダウンロード
Mac用のDockerデスクトップをインストールします。
以下のページより、Docker Desktop for Macをダウンロードします。

今回はM1チップのMacのため、「Mac with Apple chip」をクリックし、インストーラをダウンロードします。

インストール
ダウンロードしたDocker.dmgをダブルクリックします。

Dockerアイコンをアプリケーションフォルダにドラッグします。

アプリケーションフォルダのDocker.appを起動します。

警告が表示されますが、「開く」を選択します。

アクセス権限を与える必要があり、OKボタンをクリックしパスワードを入力します。

Dockerの規約画面が表示されます。
確認し、問題なければ「Accept」ボタンをクリックします。

基本的にはDocker Desktop 4.3.0からRosetta2は不要ですが、既知の問題があるようです。
一部のコマンドラインツールは、Rosetta2がインストールされていない場合は機能しないとのことで、インストールしておくと良いでしょう。

ターミナルから以下のコマンドで、Rosetta2の手動インストールができます。
% softwareupdate --install-rosetta
ちなみに、アクティビティモニタからDockerを確認すると、M1チップで動作していることが分かります。

Docker Desktop起動
Dockerが正常に起動すると以下の画面が表示されます。

ターミナルを起動し、「docker ps」というコマンドを実行します。
以下のような表示になれば、まずは正常に動作しています。
xxx@xxx ~ % docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Dockerイメージのダウンロードと起動
これでDockerの準備ができました。
コンテナが一つもありませんので、試しに表示されているコンテナを起動してみましょう。
以下のコマンドをターミナルから実行します。
% docker run -d -p 80:80 docker/getting-started
ブラウザを起動して、以下のURLを開きます。
http://localhost/
Getting Started画面が表示されました。
これはコンテナ上のサーバーのページにアクセスしていることになります。

Docker Desktopを見てみましょう。作成したコンテナが一覧に表示されます。

次に、Pythonイメージをダウンロードしてみましょう。
ターミナルから以下のようにコマンドを実行します。
% docker pull python

「docker images」でイメージがダウンロードされたか確認します。
% docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
python latest be775cae3a0f 3 days ago 866MB
コンテナを起動します。
「pytest」は名前ですので任意で指定してください。
docker run -it --name pytest python /bin/bash
rootでログインしているような状態になります。
root@329db1d355f3:/#
このコンテナには何も入っていないので、とりあえずエディタを入れました。
# apt-get update
# apt-get install -y vim
「vi test.py」とコマンドを打ち、test.pyファイルを作成します。
中身はprintで文字を出力するようにしました。
print("test")

「python test.py」と入力し、Pythonが実行されることを確認します。

たったこれだけでPython環境が作れました!
Docker Desktopで確認
私は基本的にDockerコマンドで操作していますが、Docker Desktop上でもコンテナを操作できます。
コンテナ一覧
コンテナの一覧が表示され、稼働状況やCLIを開いたり、停止、再起動、削除などを行うことができます。

イメージ一覧
Dockerイメージの一覧が表示されます。

このイメージからGUIで、コンテナを作成して起動することもできます。

さいごに
このようにDockerは簡単に環境を用意でき、とても便利です。
ぜひ活用しましょう。
他にも私のブログで、Dockerについて解説している記事がありますのでご覧ください。
コメント