概要
ずっとDockerには触らずに来ていたのですが、最近はディープラーニングなどでも使いそうな雰囲気を感じて色々触ってみているところです。
そして今のプロジェクトでWebサーバを立てて検証したいことが出てきたので、せっかくなのでDockerで環境構築してみようと思い立ったのでそのメモです。
ちなみにWindows環境でやろうとして、ホスト側のディレクトリをマウントするのにちょっとハマったので主にそのメモです。
今回のメモは以下の記事を参考にさせていただきました。
コンテナの起動
コンテナの起動は非常にシンプルです。
コンテナの起動
# Docker コンテナの起動
$ docker container run --name web -d -p 8888:80 -v $(pwd):/usr/share/nginx/html nginx:alpine
参考にした記事では上記のようにコマンドが書かれていたんですが、 -v
に渡す引数の、ホスト側のパスはWindowsでは以下のように記述しないとダメでした。
こちらの記事の最後に書かれていました。
Windowsでのコンテナの起動
$ docker container run --name web -d -p 8888:80 -v D:/path/to/docker/nginx/html:/usr/share/nginx/html nginx:alpine
なお、コマンドの引数の意味は以下の通りです。
container # コンテナ操作に関するサブコマンド
run # コンテナの起動
--name <container-name> # コンテナ名前
-d # コンテナをバックグラウンドで起動(detachのd)
-p <host-port>:<container-port> # ホストのポートとコンテナのポートをポートフォワーディング
-v <host_path>:<container_path>> # ホストのボリュームをコンテナにマウント
nginx:alpine # コンテナのイメージ名
コンテナの停止と削除
コンテナの停止と削除
# 停止
$ docker container stop web
# 削除
$ docker container rm web
マウント情報などの確認
$ docker inspect $(doker ps -q)
$(docker ps -q)
とすると、起動しているコンテナのIDを返してくれます。