コマンドdocker run
とdocker create
コマンドの違いは何ですか?
私は通常使用しますrun
が、ときどきドキュメントに表示されcreate
ます。
Dockerの--help
指示
create Create a new container
run Run a command in a new container
run
コマンドを新しいコンテナーに渡す必要があるときに使用されるということですか?その時の目的は何create
ですか?
コマンドdocker run
とdocker create
コマンドの違いは何ですか?
私は通常使用しますrun
が、ときどきドキュメントに表示されcreate
ます。
Dockerの--help
指示
create Create a new container
run Run a command in a new container
run
コマンドを新しいコンテナーに渡す必要があるときに使用されるということですか?その時の目的は何create
ですか?
回答:
ドッカーのドキュメントから
docker createコマンドは、指定されたイメージ上に書き込み可能なコンテナーレイヤーを作成し、指定されたコマンドを実行する準備をします。次に、コンテナIDがSTDOUTに出力されます。これは、コンテナーが起動されないことを除いて、docker run -dに似ています。その後、docker startコマンドを使用して、任意の時点でコンテナーを開始できます。
これがある場合に便利あなたがしたいコンテナ設定の設定を控え 、時間のあなたがそれを必要なときに開始する準備ができているように。新しいコンテナの初期ステータスが作成されます。
docker create
コマンドは、イメージから書き込み可能なコンテナを作成し、実行する準備をします。
docker run
コマンドは、コンテナ(と同じdocker create
)を作成して開始します。
他の答えはこれでカバーされていますが、私は同等のシェルコマンドラインを表示すると思いました。
$ docker run myimage
と同じです
$ docker start -a $(docker create myimage)
ここでdocker create
は、名前付きイメージからコンテナーを作成し、作成されたコンテナーIDを出力し、docker start
そのIDでコンテナーを開始するために使用されます。この-a
オプションにより、ターミナルがアタッチされ、コンテナがフォアグラウンドで実行されるようになりますdocker run
。これはのデフォルトの動作です。
作成されたが開始されていないコンテナにはCreated
ステータスがあります。これはで確認できますdocker container ls -a
。
Docker runは、基本的にはコンテナーでコマンドを実行するためのものです。
docker run -it <Container Name> /bin/bash
上記はbashターミナルを作成するためのものです。そして、コンテナーでbashコマンドを使用します。
Docker createは、Dockerイメージからコンテナを作成することです。
docker create -d /var/lib:/var/lib --name docker-ubuntu ubuntu
上記は、イメージ「ubuntu」から「docker-ubuntu」という名前のコンテナをドッカーに作成するためのものです
docker run -it <Container name>
/ bin / bashを実行しなくても実行できます。たとえば、rubyはirbと呼ばれる実行可能ファイルを自動実行します。また、-dを実行することもできます。これは、ログオンしないdockersamples / static-siteで行われます。だから私はそれはexecをしないと思いますが、それはそれを開始するだけです。