はじめに
先程、下記の記事を投稿しました。
【Docker】CentOS7.8のdocker上にnginxを起動
その中で覚えたdockerコマンドを本記事にてアウトプットしていきたいと思います。
コマンド
バージョン確認
docker --version
【実行例】
[root@tspdocker yum.repos.d]# docker --version
Docker version 19.03.9, build 9d988398e7
[root@tspdocker yum.repos.d]#
image関連
取得済みのコンテナイメージ確認
- docker image ls
docker image ls
【実行例】
[root@tspdocker docker]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 9beeba249f3e 8 days ago 127MB
[root@tspdocker docker]#
- docker images
docker images
【実行例】
[root@tspdocker docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 9beeba249f3e 8 days ago 127MB
[root@tspdocker docker]#
レジストリからイメージの検索
docker search <イメージ名>
【実行例】
[root@tspdocker docker]# docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 6012 [OK]
ansible/centos7-ansible Ansible on Centos7 129 [OK]
consol/centos-xfce-vnc Centos container with "headless" VNC session … 115 [OK]
jdeathe/centos-ssh OpenSSH / Supervisor / EPEL/IUS/SCL Repos - … 114 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL database server 75
imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 58 [OK]
tutum/centos Simple CentOS docker image with SSH access 46
centos/postgresql-96-centos7 PostgreSQL is an advanced Object-Relational … 44
kinogmt/centos-ssh CentOS with SSH 29 [OK]
pivotaldata/centos-gpdb-dev CentOS image for GPDB development. Tag names … 11
guyton/centos6 From official centos6 container with full up … 10 [OK]
nathonfowlie/centos-jre Latest CentOS image with the JRE pre-install … 8 [OK]
drecom/centos-ruby centos ruby 6 [OK]
centos/tools Docker image that has systems administration … 6 [OK]
pivotaldata/centos Base centos, freshened up a little with a Do … 4
darksheer/centos Base Centos Image -- Updated hourly 3 [OK]
pivotaldata/centos-mingw Using the mingw toolchain to cross-compile t … 3
pivotaldata/centos-gcc-toolchain CentOS with a toolchain, but unaffiliated wi … 3
miko2u/centos6 CentOS6 日本語環境 2 [OK]
blacklabelops/centos CentOS Base Image! Built and Updates Daily! 1 [OK]
mcnaughton/centos-base centos base image 1 [OK]
indigo/centos-maven Vanilla CentOS 7 with Oracle Java Developmen … 1 [OK]
pivotaldata/centos7-dev CentosOS 7 image for GPDB development 0
smartentry/centos centos with smartentry 0 [OK]
pivotaldata/centos6.8-dev CentosOS 6.8 image for GPDB development 0
[root@tspdocker docker]#
コンテナイメージの取得
docker pull <イメージ名>
【実行例】
[root@tspdocker docker]# docker pull miko2u/centos6
Using default tag: latest
latest: Pulling from miko2u/centos6
67f15db7c18f: Pull complete
509a26fd7457: Pull complete
fc1eb556a306: Pull complete
a64d7cf12062: Pull complete
Digest: sha256:e0fde5482f052a54b8215300cbe06ec233e0527d70fe8b89e0b4a81be1b30a3c
Status: Downloaded newer image for miko2u/centos6:latest
docker.io/miko2u/centos6:latest
[root@tspdocker docker]#
コンテナイメージ削除
docker rmi <[REPOSITORY] or [IMAGE ID]>
【実行例】
①削除するコンテナの確認
[root@tspdocker docker]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 9beeba249f3e 8 days ago 127MB
miko2u/centos6 latest 092ba03e36dd 3 years ago 248MB
[root@tspdocker docker]#
→今回は「miko2u/centos6」を削除
②コンテナ削除
[root@tspdocker docker]# docker rmi miko2u/centos6
Untagged: miko2u/centos6:latest
Untagged: miko2u/centos6@sha256:e0fde5482f052a54b8215300cbe06ec233e0527d70fe8b89e0b4a81be1b30a3c
Deleted: sha256:092ba03e36ddfcb49881eba3b708f461b7334cc7c595411350b04258495bd160
Deleted: sha256:c6c375cf9281546ef63130efff84f0732fc45bfaca98307eb8055b0acd4392ef
Deleted: sha256:0d222776efc8d8e95f128486c9df597c8f97148d700a585e92dd741b1d237d0c
Deleted: sha256:6128ee232c96b4419361c6855b26025ec74e66490b281f900a332f356554843e
Deleted: sha256:b1b065555b8aba5ae83d5d59d611a6b0cc470e9c14b7e4bee081398309e474a5
[root@tspdocker docker]#
③コンテナが削除されていることを確認
[root@tspdocker docker]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 9beeba249f3e 8 days ago 127MB
[root@tspdocker docker]#
コンテナ起動/停止関連
起動済みコンテナ確認
docker ps
よく使うオプション | 内容 |
---|---|
-a | 全てのコンテナ情報出力 |
【実行例】
- docker ps
[root@tspdocker docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b631bfb26b8e nginx "nginx -g 'daemon of…" 4 hours ago Up 4 hours 0.0.0.0:8080->80/tcp vibrant_engelbart
[root@tspdocker docker]#
- docker ps -a
[root@tspdocker docker]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b631bfb26b8e nginx "nginx -g 'daemon of…" 4 hours ago Up 4 hours 0.0.0.0:8080->80/tcp vibrant_engelbart
[root@tspdocker docker]#
コンテナの作成
docker run -it <イメージ名>
オプションの意味 | 内容 |
---|---|
-it | コンソールに結果を出力 |
こちらのコマンドは、コンテナの作成&起動&ログインを同時にやってくれるコマンドになります。
【実行例】
[root@tspdocker docker]# docker run -it ubuntu
root@644f6b5a46b9:/#
コンテナの起動
docker start <CONTAINER IDまたはNAME>
【実行例】
①「ubuntu」が停止されていることを確認
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 11 minutes ago Exited (0) 13 seconds ago intelligent_hamilton
[root@tspdocker docker]#
→「Exited」が表示されていることを確認
②「ubuntu」を起動する
[root@tspdocker docker]# docker start 644f6b5a46b9
644f6b5a46b9
[root@tspdocker docker]#
→「644f6b5a46b9」はコンテナID
「ubuntu」が起動されていることを確認
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 12 minutes ago Up 8 seconds intelligent_hamilton
[root@tspdocker docker]#
→「Up」になっていることを確認
コンテナの停止(コンテナにログインしていない場合)
docker stop <CONTAINER IDまたはNAME>
【実行例】
①「ubuntu」が起動していることを確認
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 23 minutes ago Up 10 minutes intelligent_hamilton
[root@tspdocker docker]#
→「Up」になっていることを確認
②「ubuntu」を停止する
[root@tspdocker docker]# docker stop 644f6b5a46b9
644f6b5a46b9
[root@tspdocker docker]#
③「ubuntu」が停止されていることを確認
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 24 minutes ago Exited (0) 29 seconds ago intelligent_hamilton
[root@tspdocker docker]#
→「Exited」になっていることを確認
コンテナの停止(コンテナにログインしている場合)
exit
【実行例】
①コンテナ「ubuntu」にログイン
[root@tspdocker docker]# docker attach 644f6b5a46b9
root@644f6b5a46b9:/#
②「exit」実行
root@644f6b5a46b9:/# exit
exit
[root@tspdocker docker]#
③「ubuntu」が停止していることを確認
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 30 minutes ago Exited (0) 2 minutes ago intelligent_hamilton
[root@tspdocker docker]#
→「Exited」になっていることを確認
動作中のコンテナへログイン
- attach
docker attach <CONTAINER IDまたはNAME>
【実行例】
①「ubuntu」が起動していることを確認
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 35 minutes ago Up 11 seconds intelligent_hamilton
[root@tspdocker docker]#
②「ubuntu」のコンテナにログインできることを確認
[root@tspdocker docker]# docker attach 644f6b5a46b9
root@644f6b5a46b9:/#
※抜ける際は、「Ctrl」を押しながら「p」→「q」の順番で押す。
root@644f6b5a46b9:/# read escape sequence
[root@tspdocker docker]#
- exec
docker exec -it <CONTAINER IDまたはNAME> /bin/bash
オプション名 | 内容 |
---|---|
i | 標準入力(STDIN)を開いたままにする |
t | 擬似ttyに接続する。ディスプレイ(STDOUT)をつなぐイメージ |
【実行例】
①「ubuntu」が起動していることを確認
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 35 minutes ago Up 11 seconds intelligent_hamilton
[root@tspdocker docker]#
②「ubuntu」のコンテナにログインできることを確認
[root@tspdocker docker]# docker exec -it 644f6b5a46b9 /bin/bash
root@644f6b5a46b9:/#
※抜ける際は、「Ctrl」を押しながら「p」→「q」の順番で押す。
root@644f6b5a46b9:/# read escape sequence
[root@tspdocker docker]#
参考
Dockerコンテナの作成、起動〜停止まで
Docker コマンドチートシート
Dockerコンテナ内で操作 attachとexecの違い
初心者用Docker基本コマンド一覧(新旧スタイル対応)