Dockerで始める。複数のドッカーコンテナを同じ画像からローカルに実行する。ローカルのDockerコンテナ間のSSH
docker run -it -p 52022:22 ubuntu
docker run -it -p 52023:22 ubuntu
openssh-serverとsetupキーを追加しました。どのようにそれらの間でssh(実験目的のために)?ホスト名を使用してsshに接続しようとしましたが、ホスト名を解決できませんでした。
Dockerで始める。複数のドッカーコンテナを同じ画像からローカルに実行する。ローカルのDockerコンテナ間のSSH
docker run -it -p 52022:22 ubuntu
docker run -it -p 52023:22 ubuntu
openssh-serverとsetupキーを追加しました。どのようにそれらの間でssh(実験目的のために)?ホスト名を使用してsshに接続しようとしましたが、ホスト名を解決できませんでした。
警告ルートコンテナにsshをインストールすると、ルートマシンにホストマシンが潜在的にアクセスする可能性があります。
あなたはswarmを作成し、生成されたDNS名でそれらに話をすることができます。
FYIこの例では、ubuntuは何も実行していないので、コンテナを停止し、別のものを起動します。 httpdのようなコンテナを起動する必要があります
ここは私の犬の例です。 doggy/docker-compose.ymlファイルは次のようになります。
version: '3.0'
services:
sparkey:
image: "httpd"
ports:
- "52022:22"
- "9002:80"
limey:
image: "httpd"
ports:
- "52023:22"
- "9003:80"
まだ完了していない場合は、群を初期化します。
docker swarm init
次に犬のフォルダです。
docker stack deploy --compose-file docker-compose.yml doggy
次に、コンテナに入るときは、docker psのコンテナ名を取得します。
docker exec -it doggy_limey_1.7jm5muapfhekb11v2ei8gvnc9 bash
複数のホストマシンが混在している場合は、マシンを見つけることができます。
docker service ps doggy
生成されたDNS名またはswarmマネージャのIPを使用して、相手と話すことができます。
ping doggy_sparkey
PING doggy_sparkey (10.0.0.4): 56 data bytes
64 bytes from 10.0.0.4: seq=0 ttl=64 time=0.036 ms
64 bytes from 10.0.0.4: seq=1 ttl=64 time=0.070 ms
このコマンドでスタックを停止します。
docker stack rm doggy
sshデーモンサーバードッカーイメージがない場合。このチュートリアルのコマンドを実行してください。https://docs.docker.com/engine/examples/running_ssh_service/ – dskow