状態の確認
コンテナの状態を確認。
takatoh@apostrophe $ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8f048cac2336 hello-world "/hello" 2 days ago Exited (0) 2 days ago vigilant_varahamihira
一昨日のエントリで走らせた hello-world のコンテナが残っている。vigilant_varahamihira っていう名前になってるけど、これは Docker かテキトーにつけた名前だろう。
イメージの確認は docker image ls
。
takatoh@apostrophe $ sudo docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 4 months ago 13.3kB
docker iamges
でも同じ結果が得られる。
takatoh@apostrophe $ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 4 months ago 13.3kB
Dockerイメージの取得とコンテナの起動・停止
Docker Hub からイメージを取得して、コンテナ起動してみる。
イメージの取得は docker pull
。
takatoh@apostrophe $ sudo docker pull nginx
これで nginx イメージの取得ができた。確認してみる。
takatoh@apostrophe $ sudo docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 602e111c06b6 11 days ago 127MB hello-world latest bf756fb1ae65 4 months ago 13.3kB
コンテナの起動は docker run
。
takatoh@apostrophe $ sudo docker run -d --name nginx-container -p 8181:80 nginx
オプションの意味はつぎの通り:
-d
コンテナをバックグラウンドで起動--name
コンテナ名を指定-p
ホストとコンテナ間のポートフォワード設定。-p <ホスト側ポート>:<コンテナ側ポート>
コンテナの状態を確認すると、nginx-container という名前で起動している(STATUS が Up になっている)のがわかる。
takatoh@apostrophe $ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fc4887604124 nginx "nginx -g 'daemon of…" 4 minutes ago Up 4 minutes 0.0.0.0:8181->80/tcp nginx-container 8f048cac2336 hello-world "/hello" 2 days ago Exited (0) 2 days ago vigilant_varahamihira
ブラウザで http://localhost:8181/ にアクセスすると Nginx のデフォルトページが表示された。
コンテナの停止は docker stop
。
takatoh@apostrophe $ sudo docker stop nginx-container
コンテナの状態を確認すると、STATUS が Exited になっている。
takatoh@apostrophe $ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fc4887604124 nginx "nginx -g 'daemon of…" 8 minutes ago Exited (0) About a minute ago nginx-container 8f048cac2336 hello-world "/hello" 2 days ago Exited (0) 2 days ago vigilant_varahamihira
コンテナとイメージの削除
コンテナを削除するには docker container rm
。
takatoh@apostrophe $ sudo docker container rm nginx-container
イメージを削除するには docker image rm
。
takatoh@apostrophe $ sudo docker image rm nginx
takatoh@apostrophe $ sudo docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 4 months ago 13.3kB
nginx イメージが削除されている。