Help us understand the problem. What is going on with this article?

Dockerコマンド一覧

More than 1 year has passed since last update.

Dockerイメージの操作

イメージのダウンロード

docker pull [オプション] イメージ名[:タグ名]

// (例)CentOSのDockerイメージ取得
docker pull centos:7
// (例)CentOSのすべてのタグのDockerイメージ取得
docker pull -a centos
// (例)取得先URLを指定してCentOSのDockerイメージ取得
docker pull registry.hub.docker.com/centos:7

イメージの一覧表示

docker images [オプション名] [リポジトリ名]

// (例)ローカル環境のDockerイメージの一覧表示
docker images
// (例)ローカル環境のDockerイメージのダイジェスト表示
docker images --digests asashiho/dockersample

イメージの詳細確認

docker inspect [オプション] コンテナ識別子またはイメージ識別子 [コンテナ識別子またはイメージ識別子]

// (例)Dockerイメージの詳細表示
docker inspect centos
// (例)OS情報の取得
docker inspect --format="{{.Os}}" centos

イメージのタグ設定

docker tag イメージ名:[タグ名] ユーザー名/イメージ名:[タグ名]

// (例)Dockerイメージへのタグ設定
docker tag httpd:2.4 asashiho/webserver:1.0

イメージの検索

docker search [オプション] 検索キーワード

// (例)Docker Hubに公開されているDockerイメージの検索
docker search centos
// (例)人気のあるDockerイメージの検索
docker search --stars=30 centos

イメージの削除

docker rmi [オプション] イメージ名 [イメージ名]

// (例)Dockerイメージの削除
docker rmi nginx

Docker Hubへのログイン

docker login [オプション] [サーバ名]

// (例)Docker Hubへのログイン
docker login

イメージのアップロード

docker push イメージ名[:タグ名]

// (例)Docker HubにDockerイメージをアップロード
docker push asashiho/webserver:1.0

Docker Hubからのログアウト

docker logout [サーバ名]

// (例)Docker Hubからログアウト
docker logout

Dockerコンテナの生成/起動/停止

コンテナの生成/起動

docker run [オプション] イメージ名[:タグ名] [引数]

// (例)カレンダー表示
docker run -it --name "test" centos /bin/cal
// (例)bashの実行
docker run -it --name "test" centos /bin/bash

コンテナのバックグラウンド実行

docker run [オプション] イメージ名[:タグ名] [引数]

// (例)コンテナのバックグラウンド起動
docker run -d centos /bin/ping localhost
// (例)コンテナのログ確認
docker logs -t 4bd7e5f77
// (例)コンテナの常時再起動
docker run -it --restart=always centos /bin/bash

コンテナのネットワーク設定

docker run [オプション] イメージ名[:タグ名] [引数]

// (例)コンテナのポートマッピング
docker run -d -p 8080:80 httpd
// (例)コンテナのDNSサーバ指定
docker run --dns=192.168.1.1 httpd
// (例)MACアドレスの指定
docker run -it --mac-address="92:d0:c6:0a:29:33" centos
// (例)ホスト名とIPアドレス定義
docker run -it --add-host=test.com:192.168.1.1 centos
// (例)ホスト名の設定
docker run -it --hostname=www.test.com --add-host=node1.test.com:192.168.1.1 centos
// (例)コンテナのリンク設定
docker run -it --name appserver --link dbserver:pg centos /bin/bash

リソースを指定してコンテナを生成/実行

docker run [リソースオプション] イメージ名[:タグ名] [引数]

// (例)CPU時間の相対割合とメモリの使用量を指定
docker run --cpu-shares=512 --memory=512m centos
// (例)ディレクトリの共有
docker run -v /c/Users/asa/WebPage:/var/www/html httpd

コンテナを生成/起動する環境を指定

docker run [環境設定オプション] イメージ名[:タグ名] [引数]

// (例)環境変数の設定
docker run -it -e foo=bar centos /bin/bash
// (例)環境変数の一括設定
docker run -it --env-file=env_list centos /bin/bash
// (例)作業ディレクトリの設定
docker run -it -w=/tmp/work centos /bin/bash

稼働コンテナの一覧表示

docker ps [オプション]

// (例)すべてのコンテナを表示する
docker ps -a
// (例)フィルタリング
docker ps -a -f 'name=test1'
// (例)出力形式の指定
docker ps -a --format "{{.ID}}: {{.Status}}"
// (例)出力形式を表形式にする
docker ps -a --format "table {{.ID}}\t{{.Status}}"

コンテナの稼働確認

docker stats [コンテナ識別子]

// (例)Apache、Nginxの稼働確認
docker stats apache nginx

コンテナの起動

docker start [オプション] コンテナ識別子 [コンテナ識別子]

// (例)コンテナの起動
docker start dbb4bbe0f470

コンテナの停止

docker stop [オプション] コンテナ識別子 [コンテナ識別子]

// (例)コンテナを2秒後に停止
docker stop -t 2 dbb4bbe0f470

コンテナの再起動

docker restart [オプション] コンテナ識別子 [コンテナ識別子]

// (例)コンテナを2秒後に再起動
docker restart -t 2 dbb4bbe0f470

コンテナの削除

docker rm [オプション] コンテナ識別子 [コンテナ識別子]

// (例)コンテナを削除
docker rm dbb4bbe0f470
// (例)コンテナを一括削除
docker rm -f 'docker ps -a -q'

コンテナの中断/再開

docker pause コンテナ識別子 [コンテナ識別子]

// (例)コンテナの中断
docker pause nginx1
// (例)コンテナの再開
docker unpause nginx1

稼働しているDockerコンテナの操作

稼働コンテナへの接続

docker attach コンテナ識別子

// (例)コンテナへの接続
docker attach test
// プロセス終了
[Ctrl] + [p]
// コンテナ終了
[Ctrl] + [C]

稼働コンテナでプロセス実行

docker exec [オプション] コンテナ識別子 実行するコマンド [引数]

// (例)bashを実行
docker exec -it nginx1 /bin/bash
// (例)pingを実行
docker exec -it nginx1 /bin/ping localhost

稼働コンテナのプロセス確認

docker top コンテナ識別子

// (例)プロセス確認
docker top nginx1

稼働コンテナのポート転送確認

docker port コンテナ識別子

// (例)ポート転送確認
docker port nginx1

コンテナの名前変更

docker rename コンテナ識別子 コンテナ識別子

// (例)コンテナ名の変更
docker rename old new

コンテナ内のファイルをコピー

docker cp コンテナ識別子:コンテナ内のファイルパス ホストのディレクトリパス
docker cp ホストのファイル コンテナ識別子:コンテナ内のファイルパス

// (例)コンテナからホストへのファイルコピー
docker cp test:/etc/passwd /tmp/etc
// (例)ホストからコンテナへのファイルコピー
docker cp ./local.txt test:/tmp/test.txt

コンテナ操作の差分確認

docker diff コンテナ識別子

// (例)コンテナとイメージの差分確認
docker diff test

Dockerの情報確認

Dockerのバージョン確認

docker version

// (例)バージョン確認
docker version

Dockerの実行環境確認

docker info

// (例)実行環境確認
docker info

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

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

docker commit [オプション] コンテナ識別子 [イメージ名[:タグ名]]

// (例)コンテナからイメージの作成
docker commit -a "ASA SHIHO" nginx1 asashiho/webfront:1.0

コンテナをtarファイル出力

docker export コンテナ識別子

// (例)tarファイル出力
docker export webap > latest.tar

tarファイルからイメージ作成

docker import ファイルまたはURL - [イメージ名[:タグ名]]

// (例)tarファイル取り込み
cat latest.tar | docker import - webap:1.0

イメージの保存

docker save [オプション] 保存ファイル名 [イメージ名]

// (例)イメージの保存
docker save -o export.tar mongo

イメージの読み込み

docker load [オプション]

// (例)イメージの読み込み
docker load -i export.tar

Dockerfile

DockerfileからDockerイメージの作成

docker build -t [生成するイメージ名]:[タグ名] [Dockerfileの場所]

// (例)新しいイメージの作成
docker build -t sample:1.0 /home/docker/sample
// (例)ファイル名を指定
docker build -t sample -f Dockerfile.base .
// (例)標準入力から
docler build - < Dockerfile
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした