Dockerに関する簡単なメモです。
イメージ操作のコマンド
docker search [options] 検索キーワード
GitHubのようにイメージが管理、公開されているリポジトリを提供しているDocker Hubがある。そのDocker Hubにあるリポジトリ(レジストリ)を検索するコマンド。
docker image pull [options] リポジトリ名[:タグ名]
レジストリからイメージをダウンロードするコマンド。
docker image ls [options] [リポジトリ[:タグ名]]
ホストに保存されているイメージの一覧を表示するコマンド。
docker image tag 対象イメージ名[:タグ名] 新イメージ名[:タグ名]
イメージの特定のバージョンにタグを付けるコマンド。Dockerではイメージを更新してビルドする度にイメージIDが振られる(つまりバージョンが変わる)ため、タグ付けすることでどのバージョンか識別しやすくなる。同一のイメージIDに対して複数タグを付けることも可能になっている。
docker image build イメージ名[:タグ名] Dockerfileパス
Dockerfileからイメージを作成するコマンド。
docker image push [options] リポジトリ名[:タグ名]
Docker Hubなどのレジストリにイメージを登録しリポジトリ作成できるコマンド。pushするイメージ内にはパスワードなどを含めないよう注意する。
コンテナ操作のコマンド
コンテナのライフサイクル
イメージからコンテナを作成し、作成したコンテナは実行中、停止、破棄の状態がある。コンテナは実行、停止だけではディスクに残り続けるため破棄するまでの考慮が必要である。
docker container run [options] イメージ名[:タグ名]|イメージID [コマンド] [コマンド引数...]
イメージからコンテナを作成するコマンド。ライフサイクルの実行中となる。
よく使うオプションは以下。
- -d
- コンテナIDを出力してコンテナをバックグラウンドで実行する
- -p ホスト側ポート:コンテナ側ポート
- ホスト側ポートからコンテナ側ポートへポートフォワードするよう指定できる
- -i
- 標準入力を継続できる
- -t
- 擬似端末を利用する
- --rm
- コンテナ停止時にそのコンテナを破棄する
docker container ls [options]
実行中または停止したコンテナの一覧を表示するコマンド。
docker container stop コンテナID|コンテナ名
実行中のコンテナを停止するコマンド。
docker container restart
停止したコンテナを再実行するコマンド。
docker container rm コンテナID|コンテナ名
停止したコンテナを破棄するコマンド。rmするとコンテナはディスクからも削除される。
docker container logs [options] コンテナID|コンテナ名
指定したコンテナの標準出力を表示することができるコマンド。
docker container exec [options] コンテナID|コンテナ名 実行したいコマンド
コンテナ内で任意のコマンドを実行するコマンド。
docker container cp [options] コンテナID|コンテナ名:コピー対象ファイルパス ホストコピー先
コンテナからホストにファイルをコピーするコマンド。第1引数と第2引数を入れ替えてホストからコンテナにコピーすることも可能となっている。