web-dev-qa-db-ja.com

Docker-compose、とにかくredis.confファイルを指定するには?

私のredisコンテナは、私のdocker_compose.ymlの標準画像として定義されています

redis:  
  image: redis
  ports:
    - "6379"

ローカルホストのRedisへのバインドなどの標準設定を使用していると思いますが、0.0.0.0にバインドする必要がありますが、ローカルのredis.confファイルを追加してバインドを変更し、docker-composeに知らせる必要がありますか?

トリックをありがとう...

20
user762579

はい。ボリュームを使用してredis.confをデフォルトにマウントするだけです:

redis:  
  image: redis
  volumes:
    - ./redis.conf:/usr/local/etc/redis/redis.conf
  ports:
    - "6379"

または、confファイルをコピーしたredisイメージに基づいて新しいイメージを作成します。詳細な手順は次のとおりです。 https://registry.hub.docker.com/_/redis/

ただし、redisイメージはデフォルトで0.0.0.0にバインドします。ホストからアクセスするには、docker psまたはdocker portコマンドを使用して、Dockerがホストにマップしたポートを使用する必要があります。その後、localhost:32678でアクセスできます(32678はマップされたポートです)。または、docker-compose.ymlでマップする特定のポートを指定できます。

Dockerを初めて使用するように思われるので、Composeで開始するのではなく、生のDockerコマンドを使用して開始する場合、これはすべて意味があります。

31
Adrian Mouat

古い質問ですが、誰かがまだそれをしたい場合は、ボリュームとコマンドで可能です:

command: redis-server /usr/local/etc/redis/redis.conf
volumes:
 - ./redis/redis.conf:/usr/local/etc/redis/redis.conf
14
Marcola