Docker もう一度を最初から学ぶ為に、シリーズで書いていきます。
今回は、
Mac で Docker を始めるには「Docker For Mac」を利用するのがお手軽です。
公式のページの Docker For Mac から dmgファイル(※2020-03-02時点:version 2.2.2.0)をダウンロードします。
Start Docker when you log in
Automatically check for updates
個人差がありますが、デフォルトで使用してみて足りないようなら変更してみると良いでしょう。
「File Sharing」で、Dockerコンテナ側がマウントするディレクトリを設定できます。
差し当たり、デフォルトのままで良いと思います。
Dockerコンテナが利用する、IPアドレスの範囲をしていします。
自分でカスタマイズしても構いませんが、差し当たりデフォルトにしておきます。
Docker for Mac がインストールできたら、Mac のターミナルで docker コマンドを実行してみます。
$ docker --version
Docker version 19.03.5, build 633a0ea
今度はあらかじめ作成されている Dockerコンテナを起動してみます。
docker/getting-started というコンテナが Docker Hub に用意されているので、これを起動してみます。
$ docker run -dp 80:80 docker/getting-started
色々とオプションが入ってますが、わかりやすく書くと以下の通りとなります。
$ docker run オプション コンテナ名
今回の場合、docker/getting-started がコンテナイメージとなります。
通常はこのバックグラウンドで起動します。
ホスト側のポート番号と、コンテナ側のポート番号をマッピングします。
ホストポート番号:コンテナポート番号
コンテナ起動のオプションは、
$ docker run --help
で調べることができます。
コンテナを起動したら、コンテナの起動状況(プロセス)を確認します。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4abe131793c6 docker/getting-started "nginx -g 'daemon of…" 31 minutes ago Up 31 minutes 0.0.0.0:80->80/tcp unruffled_roentgen
上記は、コンテナIDが「4abe131793c6」、コンテナイメージが「docker/getting-started」で起動しています。
Mac側のポート80 と Docker側のポート80 がマッピングされているため、
にアクセスすると、Webサーバを介してチュートリアルが表示されます。
Docker Getting StartedイメージのWebサーバは「nginx」が起動しているようです。
コンテナを停止します。
$ docker stop 4abe131793c6
引数は docker ps で記載されたコンテナIDを指定して
$ docker stop コンテナID
Docker を利用する場合、Mac(ホスト) と Dockerコンテナ 間でディスク共有します。
ディスクマウントの仕様上、Docker For Mac は他のDocker環境に比べて速度が遅い(レイテンシー)傾向があります。
これは個人差があるので一概に言えませんが、開発できないレベルではありません。