Docker Compose に頼っていると Docker コマンドの使い方忘れるので、ちょくちょく使ったコマンドをメモしていく。
- References
- Dockerfile 内で変数置換をする
- docker build: Dockerfile から Docker イメージのビルド
- docker run: Docker コンテナの起動
- docker exec: コンテナ内でコマンドを実行
- docker ps: 起動中、停止中、全てのコンテナの確認
- ローカル環境のクリーンアップ: コンテナ、イメージ、ネットワーク、ボリュームの全削除
- 後で読む
References
Dockerfile 内で変数置換をする
FROM busybox ENV FOO=/bar WORKDIR ${FOO} # WORKDIR /bar ADD . $FOO # ADD . /bar COPY \$FOO /quux # COPY $FOO /quux
docker build: Dockerfile から Docker イメージのビルド
-t
オプションでイメージ名、タグを設定- コマンド末尾の
.
は Dockerfile が存在するディレクトリを指す。基本的にカレントディレクトリにある Dockerfile をビルドすることが多いので.
を使用する場合が多い。
docker build -t [name[:tag]] . docker build -t myapp:latest .
docker run: Docker コンテナの起動
- Usage:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-d
: ディタッチモード(detached mode)でコンテナを起動。コンテナをバックグラウンドで起動。
# foreground モード docker run -it --rm --name [container name] -v [host dir]:[remote dir] [image name] [arg] # arg 無指定:Dockerfile の CMD で指定したコマンドが実行される docker run -it --rm --name kenchon-book -v $(PWD):/workdir kenchon-book:latest # 例えば、CMD ["/bin/bash"] ならコンテナ内で /bin/bash が実行される # arg 指定:arg で渡したコマンドを実行 docker run -it --rm --name kenchon-book -v $(PWD):/workdir kenchon-book:latest /bin/zsh # コンテナ内で /bin/zsh が実行される # detached モード docker run -d -it --rm --name [container name] -v [host dir]:[remote dir] [image name] docker run -d -it --rm --name texlive-ja -v $(PWD):/workdir nukopy/ubuntu-texlive-ja:latest
docker exec: コンテナ内でコマンドを実行
docker exec [container name] [comand] docker exec -it texlive-ja /bin/bash
docker ps: 起動中、停止中、全てのコンテナの確認
# 起動中のコンテナの確認 docker ps docker ps -f status=running # 停止中のコンテナの確認 docker ps -f status=paused # 全てのコンテナの確認 docker ps --all
ローカル環境のクリーンアップ: コンテナ、イメージ、ネットワーク、ボリュームの全削除
# <none> イメージの全削除 docker image prune # 停止中コンテナ全削除 docker container prune # 上 2 つ + 使っていないネットワークとボリュームも全削除 docker system prune