Wordpress 在docker build中创建的文件不存在于从映像创建的容器中
我有下面的DockerfileWordpress 在docker build中创建的文件不存在于从映像创建的容器中,wordpress,docker,gulp,Wordpress,Docker,Gulp,我有下面的Dockerfile FROM wordpress #make sure necessary tools for publishing are installed RUN curl -sL https://deb.nodesource.com/setup_4.x | bash - && \ apt-get install -y nodejs git && \ npm install -g npm gulp bower ADD . /v
FROM wordpress
#make sure necessary tools for publishing are installed
RUN curl -sL https://deb.nodesource.com/setup_4.x | bash - && \
apt-get install -y nodejs git && \
npm install -g npm gulp bower
ADD . /var/www/html/wp-content/themes/theme-name
RUN cd /var/www/html/wp-content/themes/theme-name \
&& npm install \
&& npm run build \
&& rm -rf node_modules \
&& rm -rf bower_components \
&& find ./* -type f -printf "%h%f\n" | sort \
&& cd /
VOLUME ["/var/www/html/wp-content/themes/ca-ticket.com"]
ENTRYPOINT ["/entrypoint.sh"]
CMD ["apache2-foreground"]
当我构建它时,第二个RUN命令生成几个文件,这些文件被放入/var/www/html/wp content/themes/ca ticket.com/dist
文件夹中,当我查看构建日志时,我可以清楚地看到这些文件正在被创建(这就是为什么find./*-type f-printf“%h%f\n”| sort
存在的原因
从日志中:
build 11-Apr-2016 18:51:01 ./dist/scriptsjquery.js
build 11-Apr-2016 18:51:01 ./dist/scriptsjquery.js.map
build 11-Apr-2016 18:51:01 ./dist/scriptsmain.js
build 11-Apr-2016 18:51:01 ./dist/scriptsmain.js.map
build 11-Apr-2016 18:51:01 ./dist/stylesmain.css
build 11-Apr-2016 18:51:01 ./dist/stylesmain.css.map
……等等
然而,当我从这个图像创建一个容器时,/var/www/html/wp content/themes/ca ticket.com/dist
根本不存在
我怀疑我一定是做了一些傻事,导致docker忽略了一个层,但我不确定这个过程到底出了什么问题
编辑:
生成命令是:
docker build --force-rm=true --tag="<tag here>" /path/to/context
问题解决了
事实证明,基本wordpress IMAG公开了一个卷/var/www/html,然后将wordpress安装复制到entrypoint.sh脚本中
最后,我将应用程序移动到/theme dir并在该文件夹中运行构建,并更新entrypoint.sh脚本,将wordpress themes目录中的符号链接添加到我的文件夹中。请提供构建和运行命令好吗?@Auzias我已经用构建和运行命令更新了问题。
docker run --name <name> -d -p 81:80 -e WORDPRESS_DB_HOST=<dbhost> -e WORDPRESS_DB_USER=<dbuser> -e WORDPRESS_DB_PASSWORD=<pass> -e WORDPRESS_DB_NAME=<dbname> -e WORDPRESS_TABLE_PREFIX=<tblprefix> <imagename>