SSHを介してwsl2 dockerコンテナを接続する方法

SSHを介してwsl2 dockerコンテナを接続する方法

簡単に言えば、私はアンサーブルを学んでおり、そのためにプレイブックをテストするためにいくつかのドッカーマシンが必要です。私はすでに設定して接続し、いくつかのプレイブックをテストしたラズベリーとハイパーVマシンを持っています。ただし、別のマシンをテストする必要があります。マシンと私は、次のコマンドを使用してdockerでこの新しいマシンのいくつかを作成しました。

docker network create ansible --subnet=172.18.0.0/16

docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:rw --ip 172.18.0.2 --cgroupns=host --name=debian1 --network=ansible apasoft/debian11-ansible 
docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:rw --ip 172.18.0.3 --cgroupns=host --name=debian2 --network=ansible apasoft/debian11-ansible 
docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:rw --ip 172.18.0.5 --cgroupns=host --name=rocky1 --network=ansible apasoft/rocky9-ansible 
docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:rw --ip 172.18.0.6 --cgroupns=host --name=rocky2 --network=ansible apasoft/rocky9-ansible 
docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:rw --ip 172.18.0.8 --cgroupns=host --name=ubuntu1 --network=ansible apasoft/ubuntu22-ansible 
docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:rw --ip 172.18.0.10 --cgroupns=host --name=mysql1 --network=ansible apasoft/debian11-ansible 
docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:rw --ip 172.18.0.11 --cgroupns=host --name=mysql2 --network=ansible apasoft/debian11-ansible
docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:rw --ip 172.18.0.12 --cgroupns=host --name=tomcat1 --network=ansible apasoft/debian11-ansible 
docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:rw --ip 172.18.0.13 --cgroupns=host --name=tomcat2 --network=ansible apasoft/debian11-ansible

を使用して接続できますが、docker container exec -it [machine_name] /bin/bashSSH経由で接続できず、pingもできません。

コンテナの sshd_config では、次の設定が有効になっています。

PermitRootLogin yes
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem       sftp    /usr/lib/openssh/sftp-server

私はこれについて親切に知識を求めます。私はこれでほぼ2日間苦労しました。

よろしくお願いします。

ベストアンサー1

いくつかのパラメータを確認する必要があります。

  • Docker内部でSSHサービスが実行されていますか?

ss -laputen | grep ssh #this inside docker

  • ホスト/ドッカーコンテキストでネットワークとファイアウォールを構成する方法:

https://dockerlabs.collabnix.com/networking/A1-network-basics.html

https://forums.docker.com/t/docker-firewall-rules-how-to-change-or-disable/30398

その後、接続できるはずです。

おすすめ記事