よく使うdockerコマンドまとめ

Linux

dockerでよく使うコマンドを自分用にメモしました。

docker実行

イメージを取得して実行

$ docker run [イメージ名]:[TAG名]

localにイメージがない場合、ダウンロードしてコンテナを作成して実行します。
※TAGを指定しないで実行するとlatestがダウンロードされる
pull(イメージ取得) create(コンテナ作成)start(コンテナ実行)を同時におこなうコマンド

仮のコンテナを作成して実行

$ docker run --name [コンテナ名] -it -d --rm [イメージ名] /bin/bash

起動しているコンテナのシェルを操作する

$ docker exec -it [コンテナ名] /bin/bash

シェルから抜けるときはexitコマンド

ctrl p ctrl qで抜ける

イメージ操作

イメージ取得

$docker pull [イメージ名]:[タグ名]

タグを指定しない場合、latestタグがダウンロードされる

イメージ一覧

$ docker images

イメージ詳細

$ docker inspect [イメージ名またはID]

イメージ削除

$ docker rmi  [イメージ名またはID]

オプション -f 強制削除

イメージ一括削除

$ docker rmi $(docker images -q)

イメージタグつけ

$ docker tag [元になるイメージ名] [変更後のイメージ名]:[タグ名]

エイリアスのようなものなので同じイメージIDになる

コンテナ操作

コンテナ一覧

$ docker container ls -a
$ docker ps -a

コンテナ削除

$ docker rm [コンテナ名またはID]

コンテナ一括削除

$ docker rm $(docker ps -aq)

コンテナ作成

新規作成

$ docker create --name [コンテナ名] -it [イメージ名] [コマンド]

一時作成

$ docker run --name [コンテナ名] --rm -d [イメージ名]

オプション -d はバックグラウンドで起動。–rmは一時作成

ボリュームを指定してコンテナを作成(バインドマウント)

▼例)コマンドはdockerhub nginxのページから引用

$ docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx

オプション

-v [ホスト側ディレクトリ]:[コンテナ側ディレクトリ]:オプション
→ホスト
-d バックグラウンドで起動。
-p [ホスト側ポート番号]:[コンテナ側ディレクション]
ro マンウト先のコンテナに対して読み取り専用の設定をする

コンテナの停止

$ docker stop [コンテナ名またはID]

コンテナの起動

$ docker start [コンテナ名またはID]

コンテナの一時停止

$ docker pause [コンテナ名]

※コンテナの再開
$ docker unpause [コンテナ名]

ファイル操作

$ docker cp [ホスト側コピーしたいファイルのパス] [コンテナ名またはID:コピー先のディレクトリ]

コメント