我是docker-compose的新手。
我想了解如何通過docker-compose傳遞環境變量以在Dockerfile
的構建階段填充配置文件中的缺失變量值,因此在運行階段,我將運行帶有其配置的service-rabbitmq
用env變量值填充。如何使用docker-compose環境變量來填充配置文件
在docker-compose yml文件我有一個env_file:
和environment:
,問題我怎麼能通過它們來填充配置文件。
任何幫助,一個想法將不勝感激與一個簡單的例子 當然。
實施例的RabbitMQ配置文件(與需要被填充有其爲$ SSL_PORT值ENV變量):
[{rabbit,
[
{loopback_users, []},
{ssl_listeners, [$SSL_PORT]},
{ssl_options, [{cacertfile,"/etc/rabbitmq/ca/cacert.pem"},
{certfile,"/etc/rabbitmq/server/cert.pem"},
{keyfile,"/etc/rabbitmq/server/key.pem"},
{verify,verify_none},
{fail_if_no_peer_cert,false}]}
]}
].
看看這篇文章是否有助於http://tarunlalwani.com/post/simple-parameterized-config-files-docker/ –
@TarunLalwani:你如何傳遞來自'env_file:'或'environment:'部分的環境變量到docker構建階段的配置文件? – JavaSa
如果你在構建過程中傳遞它,那麼你需要使用構建參數。 https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg –