sql >> データベース >  >> NoSQL >> Redis

dockerでローカルにredisにアクセスします-dockercompose

    Dockerコンテナでlocalhostを使用することは無効です。これは、localhostが自分のコンテナをコンテナ化することを意味するため、Webコンテナ内からredis-cliを実行すると、redis-cliはredisコンテナではなくWebコンテナでredisを見つけようとします。

    Uはredisサービス名を指定する必要があります-docker(より具体的にはdocker-composeのネットワーク)はサービス名をredisのコンテナIPに解決するため、次を使用する必要があります:

    redis-cli -h redis ping
    

    期待される出力は次のとおりです:

    PONG
    

    編集:

    この回答は、両方のサービスが同じネットワークモードを使用している場合にのみ機能するため、2つの方法があります。

    1. network_mode:hostをWebサービスに追加すると、redisの「localhost」で問題ありません
    2. redisからnetwork_mode:hostを削除すると、「redis」ドメインで問題ありません



    1. ApacheHBaseのMOBの新しいサポートの内部

    2. Mongoose.js instance.save()コールバックが起動しない

    3. mongoDBでの更新による集約

    4. Heroku:RQを使用したPythonのバックグラウンドタスク