【发布时间】:2017-11-27 10:14:35
【问题描述】:
我已经成功地为 magento2 设置了 docker 容器,这就是我通过将 env 值内联设置为如下方式将数据库设置值传递给 magento2 cli 命令的方式。
FROM docker-php
#mysqql setup
ENV DB_HOST 172.17.0.2
ENV DB_NAME mydb1
ENV DB_USER prakash
ENV DB_PASSWORD password
#start running the magento commands to install
RUN cd /usr/html/bin && \
./magento setup:config:set --db-host=$DB_HOST --db-name=$DB_NAME --db-user=$DB_USER --db-password=$DB_PASSWORD
我如何做到这一点,以便可以通过像下面这样在运行中传递这些值来成功接收这些值
docker run -e DB_HOST="" -e DB_NAME="" -e DB_USER="" -e DB_PASSWORD="" <build-image-id>
看到很少有帖子描述如何实现这些,但无法找出正确的方法
【问题讨论】:
-
您的实际问题是什么?
-e选项应该将您指定的值传播到环境中,覆盖Dockerfile中的任何默认设置。 -
@tripleee RUN 命令不使用环境变量
-
嗯?它们在您运行
docker build或您有什么时设置。 -
@tripleee
docker build --help。-e没有选项。您不能从 cli 中使用它们,只能在 dockerfile 中硬编码 -
你为什么想要那个?据我所知,OP 正在询问
docker run。
标签: docker automation dockerfile magento2