7/16 hidekuroサンからのコメントを受けて修正 Dockerのコンテナで動作中のシェルへの接続方法 sshdをコンテナ内に立てることなしにシェルに接続する方法として以下の2つがある。 docker attach コンテナ名 docker exec -it コンテナ名 /bin/bash じゃあ、この2つの違いってなによ? ということで整理してみた。 docker attach コンテナ名 こっちは単純にdockerコンテナ内で既に起動しているシェルの標準出力につなげるイメージ?? コンテナで起動しているPID=1のプロセスの標準入出力(STDIN/STDOUT)に接続(attach)する。 docker exec -it コンテナ名 /bin/bash こっちはdockerコンテナで任意のコマンドを実行させる。 -itオプションについては意味合いは以下の通りらしい オプション名
![Dockerコンテナ内で操作 attachとexecの違い](https://cdn-ak-scissors.b.st-hatena.com/image/square/5c00a8945b35dec4ff4e9155838b8b6bbf90d546/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9RG9ja2VyJUUzJTgyJUIzJUUzJTgzJUIzJUUzJTgzJTg2JUUzJTgzJThBJUU1JTg2JTg1JUUzJTgxJUE3JUU2JTkzJThEJUU0JUJEJTlDJTIwYXR0YWNoJUUzJTgxJUE4ZXhlYyVFMyU4MSVBRSVFOSU4MSU5NSVFMyU4MSU4NCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9NjU2Nzg1Y2U3ZGFmZTJlZTk0Zjk1ZmY3ZTBmNWFjODY%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBSeW9NYV8wOTIzJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03MGFmZjJiZWZhZjJiYzNlOWEzOTBjN2QzYzZhMDI2OA%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D2633a3997014d8deeec360aae38c314d)