このエントリーをはてなブックマークに追加

Dockerの基本操作・基本コマンド

Docker

環境

Docker for Mac

$ docker -v
Docker version 1.12.3, build 6b644ec
OS X 10.12

確認

イメージの確認

$ docker images

稼働しているコンテナを確認

# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

終了したコンテナを確認

# docker ps -a
CONTAINER ID   IMAGE    COMMAND    CREATED        STATUS           PORTS    NAMES
7a774c168447    centos:7    "/bin/bash"   About a minute ago   Exited (0) 39 seconds ago                       pensive_mccarthy

コンテナの起動や停止

コンテナの起動

$ docker run -i -t centos /bin/bash

名前を指定してコンテナを起動

$ docker run --name testdayo -it centos:6 /bin/bash

※/bin/bash のあとに文字列を入れるとコマンドとして認識されてしまうので注意

コンテナをバッググラウンドで起動

$ docker run -d -it centos /bin/bash

コンテナのhostnameを指定して起動

$ docker run -dti centos:6 --hostname test-web01 /bin/bash

ホストのディレクトリをマウントして起動

$ docker run --name testdayo3 -dti -v /ホストのマウントしたいPath/:/コンテナのディレクトリ名/ centos:6 /bin/bash

バッググラウンドで起動したコンテナへ接続

$ docker attach NAMES

コンテナを終了

$ docker stop NAMES
$ docker ps 

終了したコンテナを再度起動する

$ docker start NAMES
$ docker ps 
$ docker attach NAMES <-- 接続可能

終了したコンテナを削除する

$ docker rm `docker ps -a -q`
$ docker ps -a

コンテナ設定変更

名前を変更する

元:testdayo
新:testdayo2

$ docker rename testdayo testdayo2
$docker ps -a                                                                                                                                                      
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
736c55017bbe        centos:6            "/bin/bash"         2 minutes ago       Up 2 minutes                            testdayo2

イメージ

イメージを公式からダウンロード

$ docker pull centos:6
$ docker images 
centos              6                   8315978ceaaa        13 days ago         194.6 MB

イメージに名前を付ける

# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                      PORTS               NAMES
19455209addd        centos:7            "/bin/bash"         About a minute ago   Exited (0) 43 seconds ago                       furious_fermi
# docker commit  19455209addd coentos/telnet
deb02e54ef3655d23b93164f3648ee1cf19596bbb332ee003ea7ecf5d66e9700
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos/telnet       latest              deb02e54ef36        43 seconds ago      235.9 MB
centos              centos7             7322fbe74aa5        5 weeks ago         172.2 MB
centos              latest              7322fbe74aa5        5 weeks ago         172.2 MB
centos              7                   7322fbe74aa5        5 weeks ago         172.2 MB

Dockerfileからイメージを作成する

$ docker build -t イメージ名:タグ Dockerfileのあるパスを指定
$ docker build -t centos:6 ./

Dockerのイメージを削除する

$ docker rmi イメージ名

その他

アタッチしたあとにデタッチする

C-p C-q

execコマンドでコンテナの中に入る

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
197e8d0a4132        wordpress:latest    "docker-entrypoint.sh"   32 minutes ago      Up 8 minutes        0.0.0.0:8000->80/tcp   wordpress_wordpress_1
$ docker exec -ti 197e8d0a4132 /bin/bash
root@197e8d0a4132:/var/www/html# pwd
/var/www/html
root@197e8d0a4132:/var/www/html# hostname
197e8d0a4132