web-dev-qa-db-ja.com

Dockerコンテナにpingできないのはなぜですか?

「redis」という名前のDockerコンテナを実行します。 「redis」コンテナredisサービスを使用したいのですが、コンテナにpingできません!

写真が示すように、私の「redis」コンテナはIPアドレスが172.17.0.15ですが、接続できません。

Redisサービスを利用したい。私の構成の何が問題になっていますか?

enter image description here

8
allencharp

同じネットワーク上にいないからです。コンテナは、デフォルトで、ホストのネットワークとは別の独自のネットワークで開始されます。

実行する場合:

docker run -it debian ping 172.17.0.15

あなたはそれがうまくいくのを見つけるはずです。さらに良いことに、コンテナをリンクして名前で参照することができます。

$ docker run -d --name redis redis
$ docker run --link redis:redis redis redis-cli -h redis ping
PONG

ホストからredisに本当にアクセスしたい場合は、ポートをホストに公開するだけです。

$ docker run -d -p 6379:6379 redis

これで、ホストのlocalhost:6379でアクセスできるようになります。

17
Adrian Mouat