以下の内容はhttps://takuya-1st.hatenablog.jp/entry/2021/11/12/165017より取得しました。


dockerのコンテナにホストssh経由で接続する

リモートのdocker のコンテナへSSHで接続する

作業マシンは、macOS/Windowsで、docker はリモートのUbuntu Serverの中。なんてことが多いと思います。

次のような接続。

PC ---<internet>---UbuntuServer--<dockerio>---container

直接 container に入りたくないですか?

ssh でやると2回の処理に別れます。

$ ssh ubuntu-server
takuya@ubuntu # docker -it exec myContainer bash 

一回で済ませたくないですか?

ssh myContainer

ssh -t でできます。

それTTYをアロケーションすればできます。

ssh -t ubuntu-server 'docker exec -it myContainer bash '

設定で更に省略

Host myContainer
  Hostname ubuntu-server
  RequestTTY force
  RemoteCommand docker exec -it e339fc9cfb25 bash

すっきり!

ssh myContainer

たまに、docker コンテナに openssh入れようとしてる人いる。 けど、殆どの場合必要ないからね。無駄な努力とCPU浪費してQiitaにエントリ書いて、DockerfileビルドしてSSD寿命縮めて、何してんだろうなぁ。もっとエコに生きようぜ。怠惰はプログラマの美徳だよ。

参考

追記

sshしなくてもdocker_host環境設定すれば、直接TCP経由でリモートのdockerに接続もできます。こっちの方がむしろ便利じゃないかな。 docker別ホストから接続、管理SockをTCP経由許可して利用する。 - それマグで!




以上の内容はhttps://takuya-1st.hatenablog.jp/entry/2021/11/12/165017より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14