我正在使用docker-engine 17.05.0〜ce-0〜ubuntu-xenial构建此Dockerfile:
3*4*5 = 60
但是输出不符合预期。我从wordpress:apache复制的代码已正确添加到/ var / www / html,但是wp-config.php仅在实际构建步骤中存在,而在生成的图像中不存在。我不明白我在做什么错。构建时,其结束如下:
FROM wordpress:apache as codebase
FROM wordpress:cli as cli
COPY --from=codebase /usr/src/wordpress /var/www/html
# Create a config
RUN wp --path=/var/www/html config create --dbname=dbname --dbuser=dbuser --skip-check \
&& ls /var/www/html/wp-config.php
RUN ls /var/www/html/wp-config.php
为什么在第一个RUN中创建的wp-config.php在下一步中不可用,而我使用COPY命令放入的数据却保留在那里?
(如果您想知道我要实现的目标,这只是一个MCVE。)
答案 0 :(得分:1)
wordpress:cli Dockerfile声明VOLUME /var/www/html
。 VOLUME
指令运行后,the content of that directory tree is fixed forever more;您尝试将内容添加到该目录的COPY
和RUN
语句无效。