現在、Dockerコンテナーで実行されている小さなサーバーがあります。サーバーは、DockerHubイメージを使用してdocker -composeによって実行されているRabbitMQを使用します。
正常に動作していますが、本番用に適切に構成されていない可能性があるのではないかと心配しています(本番は、クラスタリングなどの特別なものがない単純なサーバーです)。特に、RabbitMQの本番チェックリストに記載されているディスク容量の制限が心配です。
イメージによって定義されたenv変数はかなり制限されているように見えるため、docker-composeを使用してこれらを構成する方法がわかりません。
私のdocker-composeファイル:
version: '3.4'
services:
rabbitmq:
image: rabbitmq:3-management-alpine
ports:
- "5672:5672"
- "15672:15672"
volumes:
- rabbitmq:/var/lib/rabbitmq
restart: always
environment:
- RABBITMQ_DEFAULT_USER=user
- RABBITMQ_DEFAULT_PASS=secretpassword
my-server:
# server config here
volumes:
rabbitmq:
networks:
server-network:
driver: bridge
disk_free_limit
に設定されてい/etc/rabbitmq/rabbitmq.conf
ますが、ここで利用できる環境はないようです。
したがって、rabbitmq.conf
目的を達成するには、docker bindmountボリュームを使用して独自のものでオーバーライドする必要があります。
あなたの場合、rabbitmqコンテナに入ると、次のことがわかります。
shubuntu1@shubuntu1:~$ docker exec some-rabbit cat /etc/rabbitmq/rabbitmq.conf
loopback_users.guest = false
listeners.tcp.default = 5672
したがって、disk_free_limit.absolute = 1GB
ローカルを追加rabbitmq.conf
してコンテナにマウントするだけで、デフォルトの設定を上書きできます。完全な例は次のとおりです。
rabbitmq.conf:
loopback_users.guest = false
listeners.tcp.default = 5672
disk_free_limit.absolute = 1GB
docker-compose.yaml:
version: '3.4'
services:
rabbitmq:
image: rabbitmq:3-management-alpine
ports:
- "5672:5672"
- "15672:15672"
volumes:
- rabbitmq:/var/lib/rabbitmq
- ./rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
volumes:
rabbitmq:
networks:
server-network:
driver: bridge
今すぐ効果があるかどうかを確認します。
$ docker-compose up -d
$ docker-compose logs rabbitmq | grep "Disk free limit"
rabbitmq_1 | 2019-07-30 04:51:40.609 [info] <0.241.0> Disk free limit set to 1000MB
disk free limit
すでに1GBに設定されていることがわかります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加