実際に私が行うコンテナを開始するには:
docker run a8asd8f9asdf0
その場合、何をしますか:
docker start
行う?
マニュアルではそれは言う
停止している1つ以上のコンテナーを開始する
executeますか?
実際に私が行うコンテナを開始するには:
docker run a8asd8f9asdf0
その場合、何をしますか:
docker start
行う?
マニュアルではそれは言う
停止している1つ以上のコンテナーを開始する
executeますか?
回答:
これは非常に重要な質問であり、答えは非常に単純ですが、基本的なものです。
docker run IMAGE_ID とはありません docker run CONTAINER_IDdocker stop CONTAINER_IDでデータベースを停止した場合、コマンドで同じコンテナを再起動するdocker start CONTAINER_IDと、データと設定は同じになります。docker rm container_id)。一方、-vコマンドラインでオプションを明示的に指定しない限り、ボリュームデータはコンテナーの削除後も存続します。ホストシステム上のボリュームの場所を直接検査できます。この記事を参照してください
& 、runコマンドラインの最後に必要ですか?数々の(24時間)サービスとして必要
run画像を実行しますstartコンテナを起動します。docker runドキュメントは言及を行います。
この
docker runコマンドは、まず指定されたイメージ上に書き込み可能なコンテナーレイヤーを作成し、次に指定されたコマンドを使用してそれを開始します。つまり、docker runはAPI
/containers/createthen と同等/containers/(id)/startです。
あなたは、あなたがそれに(ドッカ1.3以降)のexecドッキングウィンドウ、既存のコンテナを実行しないでください。終了したコンテナ
を再起動できます。
-iする必要はありませんdocker runか?つまり、docker runにはコンテナーを実行するためのイメージが必要です。
例による説明:
コンピューターにゲーム(iso)イメージがあるとします。
あなたが run(仮想ドライブとしてあなたのイメージをマウントする)、仮想ドライブを仮想ドライブとゲームのインストールファイル内のすべてのゲームコンテンツが自動的に起動されると作成されます。[Dockerイメージの実行-コンテナーを作成してから開始します。]
ただし、stop(docker stopと同様に)仮想ドライブは存在しますが、すべてのプロセスを停止します。【コンテナは削除されるまで存在するため】
あなたが行うときとstart(ドッカ開始に類似する)、仮想ドライブからゲームファイルは、その実行を開始します。【既存コンテナの起動】
この例では-ゲームイメージはDockerイメージであり、仮想ドライブはコンテナーです。
daniele3004の答えはすでにかなり良いです。
ただ、間に合わせのアップミックス私のような人のための式runとstart時間から時間まで:
docker run [...]= docker pull [...]+docker start [...]
"...docker run is equivalent to the API /containers/create then /containers/(id)/start.(ソース:docs.docker.com/engine/reference/commandline/run)
runコマンドはイメージからコンテナーを作成し、このコンテナーでルートプロセスを開始します。それを実行するrun --rmフラグはあなたに後で無用死んだコンテナを除去する手間を省くだろうし、あなたがの存在を無視することができるようになるdocker startとdocker remove完全に。
run コマンドはいくつかの異なることをします:
docker run --name dname image_name bash -c "whoami"
docker psbash -c "whoami"ます。1が実行された場合docker run --name dname image_nameに実行するコマンドを指定せずに、コンテナは直ちに停止状態になります。docker remove同じ名前でコンテナを起動する前に実行する必要があります。コンテナーが自動的に停止したら、コンテナーを削除するには コマンドに--rmフラグを追加しrunます。
docker run --rm --name dname image_name bash -c "whoami"
単一のコンテナで複数のコマンドを実行するにはどうすればよいですか?そのルートプロセスが死ぬのを防ぐことによって。これは、最初に--detachedフラグを指定して不要なコマンドを実行し、次に「実行」を使用して実際のコマンドを実行することで実行できます。
docker run --rm -d --name dname image_name tail -f /dev/null
docker exec dname bash -c "whoami"
docker exec dname bash -c "echo 'Nnice'"
では、なぜ必要なのdocker stopでしょうか。我々は無限のコマンドを使用して、以前のスニペットに発売この余韻コンテナを停止しますtail -f /dev/null。