[解決済み] 既に存在するDockerコンテナ上でコマンドを実行するにはどうすればよいですか?
2022-03-17 09:20:52
質問
でコンテナを作成しました。
-d
ということで、インタラクティブではありません。
docker run -d shykes/pybuilder bin/bash
コンテナが終了しましたね。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d6c45e8cc5f0 shykes/pybuilder:latest "bin/bash" 41 minutes ago Exited (0) 2 seconds ago clever_bardeen
さて、このマシンで時々コマンドを実行し、終了したいと思います。反応を見るためにね。
マシンを起動しようとしました。アタッチしてみました。を呼び出せると思ったのですが
run
をコンテナで使用することができますが、それは許可されていないようです。使用方法
start
は、実行された後、すぐに存在するように見えるだけです。
終了後、インタラクティブモードに戻りたいのですが。
試してみました。
docker attach d6c45e8cc5f0
しかし、私は得る。
2014/10/01 22:33:34 You cannot attach to a stopped container, start it first
でも、起動してもどうせ終了してしまう。キャッチ22です。勝てない。
解決方法は?
2014年10月に
Docker チームは
docker exec
コマンド
:
https://docs.docker.com/engine/reference/commandline/exec/
これで、実行中のコンテナのID(または名前)を知るだけで、任意のコマンドを実行できるようになったわけだ。
docker exec -it <container_id_or_name> echo "Hello from container!"
なお
exec
コマンドは、すでに実行中のコンテナに対してのみ機能します。現在コンテナが停止している場合は、まず以下のコマンドでコンテナを実行する必要があります。
docker run -it -d shykes/pybuilder /bin/bash
ここで最も重要なのは
-d
オプションで、これは
detached
. これは、最初にコンテナに指定したコマンド(
/bin/bash
)はバックグラウンドで実行され、コンテナは
すぐに停止する
.
関連
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerコンテナのシェルに入るにはどうしたらいいですか?
-
[解決済み] 古いDockerコンテナを削除する方法
-
[解決済み】Dockerは仮想マシンとどう違うの?
-
[解決済み】Dockerイメージとコンテナの違いは何ですか?
-
[解決済み】サービス開始後にDockerコンテナを起動し続けるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] docker-compose down default_network エラー
-
[解決済み] Podをスケジュールするためのノードがない - VMを使用せずにローカルでKubernetesを実行する
-
エラー:入力デバイスはTTYではありません。
-
企業向けWeChatアラート監視のためのPrometheus+Grafana+AlertmanagerのDockerインストール
-
bashでの解決方法 : docker :コマンドが見つかりません。
-
net/http: 接続待ちの間にリクエストがキャンセルされた (Client.Timeout exceeded while awaiting head)
-
Centos7 5つのステップでDockerをインストールし、公式Dockerイメージにアクセスできない問題を解決します。
-
docker-composeはmysqlをボリュームでデプロイする際のパーミッション拒否の問題を解決します。
-
[解決済み] Dockerコンテナの実行と起動の違いについて
-
[解決済み] 停止したDockerコンテナを別のコマンドで起動するには?