login
Dokerアカウントにログインするコマンド
$ docker login
【docker for mac
or docker for windows
をご使用の場合】
- dockerアイコンをクリック
- sign in/Create Docker IDをクリック
-
Docker IDとパスワードの入力で
ログイン可能
run
dockerイメージからdockerコンテナ一つを起動するコマンド
$ docker run <イメージ名>
よく使うオプション
--name
コンテナに任意の名前を付ける
$ docker run --name <任意の名前> <イメージ名>
-d
コンテナをバックグランドで動作させる
$ docker run -d <イメージ名>
-p
ホスト上のポートをコンテナ内のポートとマッピング(ポート指定)
# 構文
$ docker run -p <ホストポート:コンテナポート> <イメージ名>
# ホスト上の3000番ポートをコンテナ内の80番ポートとマッピングして起動する場合
$ docker run -p 3000:80 docker-image
--rm
プロセスが終了したコンテナを削除
$ docker run --rm <コンテナ名> <イメージ名>
-v
コンテナにボリュームをマウントして共有するオプション
$ docker run -v <ホストのパス:コンテナのパス> <イメージ名>
ps
起動中のコンテナ一覧を表示するコマンド
停止中のコンテナは表示されない。表示したい場合は、-aオプションを付ける必要がある
# 構文
$ docker ps
# 停止中のコンテナ一覧も表示
$ docker ps -a
コンテナの操作
-
コンテナは、
コンテナID
、もしくはコンテナ名
で指定- コンテナ一つを操作する
- いずれのコマンドも削除はせず、コンテナは残る
start
dockerコンテナを起動するコマンド
$ docker start <コンテナ名>
stop
dockerコンテナを停止するコマンド
$ docker stop <コンテナ名>
restart
dockerコンテナを再起動するコマンド
$ docker restart <コンテナ名>
exec
-
起動中のコンテナ内でコマンドを実行
- 起動中のコンテナに入らずコマンドを実行
-
-it
オプションを使うとコンテナに入ることができる
# 構文
$ docker exec -it <コンテナ名> /bin/bash
# 出力結果
[root@<コンテナID>/]#
# 終了コマンド
$ exit
rm
停止中のコンテナを削除するコマンド
-
注意点
- 起動中のコンテナは削除することができない
- コンテナ内のデータも消えるので注意!
$ docker rm <コンテナ名>
# 起動中のコンテナを削除する場合
$ docker rm -f <コンテナ名>
images
ローカルにあるイメージを全て表示するコマンド
$ docker images
tag
イメージ名を変更したい時にオススメのコマンド
- 既存の
Dockerイメージ
に対して名前を複数付与することができるため、別名を付与した新たなイメージを作成することができる。- 同じIDが付与された新イメージが作成されるため、旧イメージは必要なければ削除する。
docker tag <既存のイメージ名 or イメージID> <新イメージ名>
docker rmi <旧イメージ>
prune
使用していないイメージ<none>
を一括で削除するコマンド
-
docker images
で表示されたイメージのTAG名が<none>
というものは、イメージを再構築して最新のものがある場合に表示される使われていない古いイメージのこと - 削除することでメモリの消費を抑える
$ docker image prune
# 実行結果
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
rmi
Dokerイメージを削除するコマンド
-
注意点
- 起動中コンテナのイメージは削除できない
- Dockerイメージには依存関係があるので、ベースとなるイメージは削除できない
$ docker rmi <イメージ名>
build
-
Dockerfileからイメージを生成するコマンド
- Dockerfileのパス名はディレクトリ名のみの指定でOK
$ docker build <Dockerfileのパス名>
-t
作成するDockerイメージのイメージ名およびタグ名を指定するオプション
$ docker build -t <イメージ名:タグ名> <Dockerfileのあるディレクトリ名>
cp
-
コンテナとホストマシンでファイルのやりとりを行うコピーコマンド
- ログファイルや設定ファイルの取り出しや入力で使用
- コマンドの実行はホスト側から行う
# ホストからコンテナをコピーする場合
$ docker cp <ホストファイルのパス> <コンテナ名>:<コンテナのパス>
# コンテナからホストへコピーする場合
$ docker cp <コンテナ名>:<コンテナのパス> <ホストファイルのパス>
logs
-
Dockerコンテナのログ出力するコマンド
- 原因不明のコンテナ停止やアクセスログを確認する時に使用
# 構文
$ docker logs <コンテナ名>
# リアルタイムでログを確認する場合
$ docker logs -f <コンテナ名>