docker container exec -it dummy_image bash
でコンテナにシェルでログインした後にCtrl + P
+Ctrl + Q
でデタッチした場合、同プロセスのシェルに再度アタッチする方法はありますでしょうか。
docker container run -it dummy_image bash
でログインしたシェル(PID=1として起動したシェル)であれば、docker container attach
で再アタッチ可能だと思いますが、docker container exec
でログインしたシェルはPID≠1でなので、docker container attach
で再アタッチできず、何か他に方法がないか思案しています。
利用環境
- Windows 10
- Docker for Windows
- PowerShell
経緯
PHP+Apacheのコンテナにdocker exec
でログインし、vi
でファイルを参照していました。
その最中、別なファイルを参照する目的で、普段の癖から、Ctrl + Z
でvi
のプロセスをバックグラウンドにしようとしました。
しかし、Windosw PowerShellではDockerコンテナ内でCtrl + Z
を入力するとコンテナからデタッチされてしまうようで、上記操作により、作業中のvi
のプロセスを残したままコンテナからデタッチされてしまいました。
その後、別なプロセスのシェルで再度同コンテナに入りなおしてps -ef
を実行したところ、先ほどのvi
のプロセスとその親のbash
プロセスが起動したままとなっていました。
このようなケースが何回かあり、一度デタッチした(PID≠1の)シェルに再度アタッチする方法がないかお伺いしている次第です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/16 13:41