こんにちは。まゆみです。
Dockerについての記事をシリーズで書いています。
今回の記事では、
Container 内でコマンドプロンプトを起動するには?
について記事を書いていきます
ではさっそく始めていきますね。
動いているContainer 内でコマンドプロンプトを起動する
例として、redis のContainerを立ち上げます。
『docker ps -a』で起動させたContainer の様子を見てみると、STATUSもUpになっていて 、Containerが動いているのが確認できました。
Container がUp の状態である時に、そのContainerの中に入って、そこでコマンドプロンプトを起動させたい時に使えるのが
docker exec -it <container ID> sh
になります。
実際に見てみるのが早いと思うので、下にスクショを貼っておきますね。
docker exec -it sh
によって、Container のなかに入ってコマンドプロンプトを起動する事ができ、Linuxのコマンドをいくつも連続してうつことができます
sh から抜けるにはどうしたら良い?
先ほどのコマンドプロンプトから抜けるにはどうしたら良いでしょうか?
いつも通り『Ctrl + C』をしても抜け出ることができません。
Ctrl + D
で出ることができます
shって何?
では、一体このsh って何なのでしょうか?
sh はContainer 内で実行されるプログラムであり、sh によって、コマンドをうちContainer 内で実行させることが可能になります。
私たちは、普段から『bash』や『powershell』や『zsh』を使っていますが、sh で、さらにもう一つコマンドシェルを立ち上げることになります。
Containerを起動すると同時にコマンドシェルを立ち上げることもできる
先ほどは、実行中のContainer の中に入ってコマンドシェルを立ち上げましたが、Containerを起動すると同時にコマンドシェルのなかに入ることもできます
docker run -it busybox sh
上記のコードを実行した結果は下のようになります
まとめ
今回の記事では、Container 内でさらにコマンドプロンプトを起動する方法を解説させていただきました。
お役に立てれば幸いです。