この network_mode: bridge
を削除します あなたの構成ファイルから、私のために働いた=)。
tgogos の功績:デフォルト以外のブリッジを使用する必要がありました。
完全を期すために、これが私の作業構成です。
version: "3"
services:
main:
networks:
test:
image: python:3.5.2
entrypoint: /usr/bin/yes
another:
networks:
test:
image: python:3.5.2
entrypoint: /usr/bin/yes
networks:
test:
driver: bridge
ping が機能するようになりました。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
faa9f96d46a9 python:3.5.2 "/usr/bin/yes" 9 seconds ago Up 9 seconds dockerplayground_main_1
5b2d56ac0cd7 python:3.5.2 "/usr/bin/yes" 9 seconds ago Up 8 seconds dockerplayground_another_1
$ docker exec -it faa ping another
PING another (172.18.0.2): 56 data bytes
64 bytes from 172.18.0.2: icmp_seq=0 ttl=64 time=0.054 ms
64 bytes from 172.18.0.2: icmp_seq=1 ttl=64 time=0.047 ms
64 bytes from 172.18.0.2: icmp_seq=2 ttl=64 time=0.059 ms
64 bytes from 172.18.0.2: icmp_seq=3 ttl=64 time=0.066 ms
私が試して取り組んだ別の解決策は、ping したい内容をホスト名に明示的にリンクすることでした。たとえば、私は postgres
を持っています コンテナ、および server
接続したいです。
server
を実行します 以下で
docker run --name server --link postgres someserver:latest
サーバー コンテナー環境では、(指定された postgres
で ping を実行できます。 同じブリッジ/ネットワーク上にあり、実行中です)
ping postgres
--link
以降
docker network create YOURNETWORK
docker run --name postgres --network='YOURNETWORK' postgres:latest
docker run --name server --network='YOURNETWORK' server:latest
その後、2 つのコンテナーは名前で相互に ping を実行できます。
ImportError:libtk8.6.so:共有オブジェクト ファイルを開けません:そのようなファイルまたはディレクトリはありません
Ubuntu 17.04 で sudo apt-get update が失敗する