1. ホーム
  2. redis

[解決済み] Redis Dockerの接続が拒否されました

2022-02-10 14:39:21

質問

Redis の docker インスタンスを構築したところ

$ docker pull redis

その後、このように実行しました。

$ docker run --name=redis --detach=true --publish=6379:6379 redis

次のようになります。

$ docker ps 
key        redis   "/sbin/entrypoint.sh"    22 minutes ago      Up 22 minutes       0.0.0.0:6379->6379/tcp   redis

私には、上記は、現在、localhost または 127.0.0.1 または 0.0.0 のポート 6379 でリスニングして動作していることを意味します。

しかし、驚いたことに、接続しようとすると、接続拒否と応答されるのです。

どなたか光を当ててください。

どのように解決するのですか?

お使いの環境(OSやDockerのインストール状況など)の詳細が必要ですが、基本的にはこのようにRedisコンテナを起動すると。

docker run --name=redis-devel --publish=6379:6379 --hostname=redis --restart=on-failure --detach redis:latest

何があってもポートを公開するはずです。接続できない唯一の理由は、ブリッジインターフェースに問題がある場合、Linuxを使用している場合、独自のネットワークインターフェースとIPアドレスを持つDockerマシンを使用していて、そのIPアドレスに接続できない場合です。Mac用のDockerを使用している場合、Macホストでのブリッジはまだ動作しないため、localhostアドレスへのルーティングのみサポートしています。

とにかく、MacOSでDocker for Mac(旧Docker Toolboxではない)を使う場合、以下のようにすれば十分でしょう。

➜  ~ docker run --name=redis-devel --publish=6379:6379 --hostname=redis --restart=on-failure --detach redis:latest
6bfc6250cc505f82b56a405c44791f193ec5b53469f1625b289ef8a5d7d3b61e
➜  ~ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
6bfc6250cc50        redis:latest        "docker-entrypoint.s…"   10 minutes ago      Up 10 minutes       0.0.0.0:6379->6379/tcp   redis-devel
➜  ~ redis-cli ping
PONG
➜  ~