基本的なDockerコマンド一覧紹介

ここまでの解説でDockerの基本操作について解説してきました。今回はDockerの主要なコマンドまとめてみたいと思います。

Dockerイメージの作成

イメージをDockerfileからビルドして作成するには、docker buildコマンドを使用します。

❯ docker build -t docker_demo2 .

Dockerイメージの一覧表示

取得したDockerイメージの一覧の表示はdocker images lsコマンドを

# Dockerイメージの一覧表示
❯ docker images ls
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
new_docker_demo      latest              d0721bccc420        4 days ago          204MB
docker_demo2         latest              4b9be9995efd        5 days ago          135MB
itbook/docker_demo   latest              cd226ad8e4c1        6 days ago          204MB
docker_demo          latest              cd226ad8e4c1        6 days ago          204MB
ubuntu               16.04               c6a43cd4801e        3 weeks ago         123MB

# イメージIDのみを表示
❯ docker images ls -q
d0721bccc420
4b9be9995efd
cd226ad8e4c1
cd226ad8e4c1
c6a43cd4801e

# イメージIDをフル表示
❯ docker images ls --no-trunc
REPOSITORY           TAG                 IMAGE ID                                                                  CREATED             SIZE
new_docker_demo      latest              sha256:d0721bccc420ea98a02dce757f8f11fb4ac7042aaa7c6da6fff540b50f906eab   4 days ago          204MB
docker_demo2         latest              sha256:4b9be9995efd4baee3c4cc257456a8f0bb008232e12c167e9a2a18b2d2362d04   5 days ago          135MB
docker_demo          latest              sha256:cd226ad8e4c1acc72211376d9607edbdfe174acb203e7d485861f09720cf92df   6 days ago          204MB
itbook/docker_demo   latest              sha256:cd226ad8e4c1acc72211376d9607edbdfe174acb203e7d485861f09720cf92df   6 days ago          204MB
ubuntu               16.04               sha256:c6a43cd4801e1cf8832aa1dcda0df1f3730eea7e805be27b24cff32b007a919e   3 weeks ago         123MB

Dockerイメージの取得

Dockerイメージを取得する場合は、docker image pullコマンドを使用します。

# Centosイメージの取得
❯ docker image pull centos
Using default tag: latest
latest: Pulling from library/centos
8a29a15cefae: Pull complete
Digest: sha256:05c09d2d9769643a5b6a777ec7cb3f5343f3d5ebb83d0c3eff0fbeca7e693bd4
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest

Dockerイメージの検索

Docke Hub上のイメージを検索するには、docker searchコマンドを使用します。

❯ docker search centos
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   5772                [OK]
ansible/centos7-ansible            Ansible on Centos7                              126                                     [OK]
jdeathe/centos-ssh                 OpenSSH / Supervisor / EPEL/IUS/SCL Repos - …   114                                     [OK]
c

# --filterオプションを使用することで、絞り検索も可能です。
# 下の例は、Docker公式イメージのみで検索しています。
❯ docker search --filter "is-official=true" centos
NAME                DESCRIPTION                     STARS               OFFICIAL            AUTOMATED
centos              The official build of CentOS.   5772                [OK]

Dockerイメージの削除

Dockerイメージを削除する場合は、docker image rmコマンドを使用します。

❯ docker image rmi centos
Untagged: centos:latest
Untagged: centos@sha256:05c09d2d9769643a5b6a777ec7cb3f5343f3d5ebb83d0c3eff0fbeca7e693bd4
Deleted: sha256:589dc4d40385ebd01340594e66c2ead3b193460efd6270f0e2dffd6db0e2f1c4
Deleted: sha256:0683de2821778aa9546bf3d3e6944df779daba1582631b7ea3517bb36f9e4007

イメージからコンテナを作成

イメージからコンテナを作成するには、docker container createコマンドを使用します。

❯ docker container create --name test-nginx -p 80:80 f7bb5701a33c
2be5810fadd3ade22b92ce05eb437ac1754cf7df145cbbdc65c5705322cbae0b

Dockerコンテナの起動

Dockerコンテナを起動する場合は、docker container runコマンドを使用します。

❯ docker container run -it ubuntu
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
2746a4a261c9: Pull complete
4c1d20cdee96: Pull complete
0d3160e1d0de: Pull complete
c8e37668deea: Pull complete
Digest: sha256:250cc6f3f3ffc5cdaa9d8f4946ac79821aafb4d3afc93928f0de9336eba21aa4
Status: Downloaded newer image for ubuntu:latest

docker runコマンドの主要オプション一覧

オプション説明コマンド例
--nameコンテナ名を指定docker run --name "demo" centos
-dバックグラウンドで実行docker run -d centos
-tコンテナの標準出力をホストの標準出力につなげるdocker run -t centos
-iホストの入力をコンテナの標準出力につなげるdocker run -i centos
-itホストとコンテナの標準入出力をつなげるdocker run -it centos
-p [ホスト側のポート番号]:[コンテナのポート番号]ポートフォワーディングdocker run -d -p 2023:23 sshd
-vdockerコンテナとホスト間でファイルを共有するdocker run -v ~/src:/var/www/html httpd
--rmコンテナ停止とともにコンテナ削除docker run --rm centos

起動中のコンテナにログイン

起動中のコンテナにログインするには、docker container execコマンドを使用します。

❯ docker container ls
CONTAINER ID        IMAGE               COMMAND               CREATED             STATUS              PORTS               NAMES
32d60d924b16        d0721bccc420        "/usr/sbin/sshd -D"   31 minutes ago      Up 53 seconds       22/tcp              magical_austin

❯ docker container exec -it 32d60d924b16 /bin/bash
root@32d60d924b16:/#
root@32d60d924b16:/# exit
exit

コンテナへのログイン方法には、docker container attachコマンドもありますが、このコマンドを使用した場合、exitするとコンテナが停止してしまいますので、上記例のようにexecコマンドでの接続がおすすめです。

Dockerコンテの一覧表示

コンテナの一覧表示には、docker container lsコマンドを使用します。停止中のコンテナを含める場合は-aオプションを付与します。

❯ docker container ls -a
CONTAINER ID        IMAGE               COMMAND               CREATED             STATUS                  PORTS               NAMES
c4ba39743086        ubuntu              "/bin/bash"           4 days ago          Exited (0) 4 days ago                       jolly_poitras
eea78050437d        new_docker_demo     "/usr/sbin/sshd -D"   9 days ago          Exited (0) 9 days ago                       new_docker_demo
9f09c3bb3a93        docker_demo         "/usr/sbin/sshd -D"   9 days ago          Exited (0) 9 days ago                       docker_demo

Dockerコンテナの削除

停止中のコンテナを削除するには、docker container rmコマンドを使用します。

❯ docker container rm docker_demo
docker_demo

docker container pruneコマンドを使用すると、停止中の全コンテナを削除します。

❯ docker container prune

❯ docker container prune WARNING! This will remove all stopped containers. Are you sure you want to continue? [y/N] y Deleted Containers: c4ba397430863db5d16a086c6eb63d95aefeedb7cde0e818e1f22cb2311fe0d0 eea78050437d41479a9a30d1adc9ba8d0553384df2f6b8727ad258e31a1689cb

Total reclaimed space: 33.14kB

## Dockerコンテナから新しいイメージを作成
コンテナから新しいイメージを作成するには、````docker container commit````コマンドを使用します。

❯ docker commit docker_demo new_docker_demo sha256:bec3404d505e671e14e31768e9b198ee979b5ca6aa9970897454e4eb5c2a9a3c

関連記事