docker exec
パッケージと実行環境
書き方
docker exec -it <container> <command>すでに動いているコンテナの中で別のプロセスを走らせます。止まっているコンテナには使えず、軽いイメージにはbashが無いのでshで入ります。
よく使うオプション
| オプション | 意味 |
|---|---|
| -it | interactive terminal, for a shell |
| -u <user> | run as another user, e.g. root |
| -w <dir> | start in that directory |
| -e KEY=value | set a variable for this process only |
| -d | run it in the background |
例
docker exec -it web basha shell inside a running container
docker exec -u root -it web shas root, and sh because slim images have no bash
docker exec -it db psql -U postgresruns a client that lives inside the container
何をどこに入れるかが問題です。このプロジェクトの中か、マシン全体かを先に決めてください。
読み方
- 角括弧 [ ] は省いてよい部分です。
- 三点 … は複数並べられるという意味です。
- オプションは大文字小文字を区別します — -r と -R が別物のコマンドもあります。
よくある質問
Q. docker exec は何をしますか。
すでに動いているコンテナの中で別のプロセスを走らせます。止まっているコンテナには使えず、軽いイメージにはbashが無いのでshで入ります。
Q. どう打ちますか。
docker exec -it <container> <command> — 角括弧は省いてよい部分です。
Q. よく使うオプションはいくつですか。
ここにまとめたのは5個です。全部は man docker にあります。このコマンドはパッケージと実行環境の仲間です。
関連するコマンド
man ページ: man docker-exec