docker run

パッケージと実行環境

書き方

docker run [-d] [-p <host>:<container>] <image> [command]

イメージから毎回新しいコンテナを作って起動します。二度打てばコンテナが二つになり、止まったものを起こすのはdocker startで、-pが無ければホストから届かず、-vが無ければ書いたものはコンテナと一緒に消えます。

よく使うオプション

オプション意味
-drun in the background and print the id
-p 8080:80publish a container port on the host
-itinteractive with a terminal, for a shell
--rmdelete the container when it exits
-v <host>:<path>mount a host folder or named volume
-e KEY=valueset an environment variable
--name <name>give it a name instead of a random one
--network <net>attach it to a network

docker run --rm -it ubuntu bash

a throwaway shell in a container

docker run -d -p 8080:80 --name web nginx

nginx in the background, reachable on localhost:8080

docker run --rm -v "$PWD":/app -w /app node:22 npm test

runs your tests in a container without installing node

何をどこに入れるかが問題です。このプロジェクトの中か、マシン全体かを先に決めてください。

読み方

  • 角括弧 [ ] は省いてよい部分です。
  • 三点 … は複数並べられるという意味です。
  • オプションは大文字小文字を区別します — -r と -R が別物のコマンドもあります。

よくある質問

Q. docker run は何をしますか。

イメージから毎回新しいコンテナを作って起動します。二度打てばコンテナが二つになり、止まったものを起こすのはdocker startで、-pが無ければホストから届かず、-vが無ければ書いたものはコンテナと一緒に消えます。

Q. どう打ちますか。

docker run [-d] [-p <host>:<container>] <image> [command] — 角括弧は省いてよい部分です。

Q. よく使うオプションはいくつですか。

ここにまとめたのは8個です。全部は man docker にあります。このコマンドはパッケージと実行環境の仲間です。

関連するコマンド

man ページ: man docker-run