在docker build中创建的文件不存在于从图像

时间:2016-04-12 02:35:05

标签: 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 . /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文件夹的文件,当我查看构建日志时,我可以清楚地看到文件正在创建(这就是为什么{ {1}}在那里。

来自日志:

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 根本不存在!

我怀疑我必须做些愚蠢的事情才能让docker忽略一个图层,但我不确定这个过程有什么问题。

修改 构建命令是:

/var/www/html/wp-content/themes/ca-ticket.com/dist

我也尝试使用docker build --force-rm=true --tag="<tag here>" /path/to/context 选项,但结果没有变化。

我正在运行图片:

--no-cache

1 个答案:

答案 0 :(得分:0)

问题解决了!

结果显示基础wordpress imags暴露了一个卷/ var / www / html,然后它将wordpress install复制到entrypoint.sh脚本中。

最后,我将应用程序移动到/ theme-dir并在该文件夹中运行构建,并更新了entrypoint.sh脚本,以将wordpress themes目录中的符号链接添加到我的文件夹中。