現代の千利休を求めて

ゲームプログラマーのブログ

MENU

【Docker】Dockerのインストール よく使うコマンド一覧

どうも千利休です。
VirtualBoxが嫌になってきたので、巷で噂になっているDockerを試してみました。

Docker for Macをインストール

こちらのサイトにインストール方法がのってはいるが、英語なので下記の手順通りにやれば問題ない
docs.docker.com

安定版とベータ版があるが、ひとまずは安定版で問題ない。 新機能系を使いたければベータ版にすればいいだろう。

dmg入手先
https://download.docker.com/mac/stable/Docker.dmg

指示通りに進めて行ってアプリケーション一覧からDockerを起動。
ステータスバーに鯨のマークが出てたら成功です

Dockerのhello worldです。
ここを目を通していけばコンテナ、イメージ、データボリューム、コンテナのネットワークなどなど一通りは理解できるでしょう。 コンテナで Hello world — Docker-docs-ja 1.12.RC ドキュメント

docker コマンド

Docker上で動いているコンテナ一覧

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
a50c5f733393        training/webapp     "python app.py"     3 minutes ago       Up 3 minutes        0.0.0.0:32768->5000/tcp   boring_snyder

コンテナの停止

docker stop NAMES

割り当てられたポート

$ docker port NAMES
5000/tcp -> 0.0.0.0:32768

コンテナの開始

docker start NAMES

コンテナの停止している一覧

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                     NAMES
a50c5f733393        training/webapp     "python app.py"          14 minutes ago      Up 2 minutes                  0.0.0.0:32769->5000/tcp   boring_snyder

コンテナ削除

docker rm NAMES

イメージ一覧

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              14.04               132b7427a3b4        43 hours ago        188 MB
training/webapp     latest              6fae60ef3446        2 years ago         349 MB

イメージの削除

docker rmi NAMES

コンテナに割り当てられたIP一覧

$ docker ps -q | xargs docker inspect -f "{{.Name}} {{.NetworkSettings.IPAddress }}"
/networktest 172.17.0.3
/web 172.17.0.2

ネットワーク一覧

$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
933f3dcc4449        bridge              bridge              local
48ea83c59dc2        host                host                local
e8400bebae70        my-bridge-network   bridge              local
087a9352e75c        none                null                local

どのコンテナでも使われていないデータボリュームを削除する

# docker volume ls -f "dangling=true" -q | xargs docker volume rm

起動しているコンテナにアタッチ

docker attach NAMES