
簡単に言えば、私はアンサーブルを学んでおり、そのためにプレイブックをテストするためにいくつかのドッカーマシンが必要です。私はすでに設定して接続し、いくつかのプレイブックをテストしたラズベリーとハイパー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/bash
SSH経由で接続できず、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
その後、接続できるはずです。