运行 bower 安装在 docker 卷内
Running bower install inside a docker volume
上下文
所以我正在尝试在 docker 容器内构建一个聚合物项目作为一个卷(为了访问它,我正在使用 docker run (...) --volume="/var/www/html:/var/www/html" --volumes-from="my-polymer-image-name" my-nginx-image
)。
我尝试执行以下 Dockerfile,但最后声明了该卷,但是当我尝试从 "my-nginx-container" (docker exec -ti my-nginx-image-name /bin/sh
).
访问它时该卷是空的
所以我想我必须在使用它之前声明它。
问题
但是当我尝试安装我的 Bower 组件时,我注意到没有创建 bower_components
目录。
########################################################
# Dockerfile to build Polymer project and move to server
# Based on oficial node Dockerfile
########################################################
FROM node:6
VOLUME /var/www/html
# Install polymer and bower
RUN npm install -g \
polymer-cli \
bower
# Add project to a temp folder to build it
RUN mkdir -p /var/www/html/temp
COPY . /var/www/html/temp
WORKDIR /var/www/html/temp
RUN ls -la
RUN bower install --allow-root # here is where I try to build my project
RUN polymer build
# Move to release folder
WORKDIR /var/www/html
RUN mv /var/www/html/temp/build/unbundled/* /var/www/html
RUN bower install --allow-root
# Remove temporary content
RUN rm -rf /var/www/html/temp
docker 映像构建完成后装载卷。
在 Docker 文件的最后一行添加
ENTRYPOINT ["/bin/bash", "/etc/entrypoint.sh"]
像这样使用 entripoint 脚本。
#!/bin/bash
set -e #if error bash script will exit and stop docker image
cd /var/www/html/
bower install --allow-root
polymer build
mv /var/www/html/temp/build/unbundled/* /var/www/html
rm -rf /var/www/html/temp
上下文
所以我正在尝试在 docker 容器内构建一个聚合物项目作为一个卷(为了访问它,我正在使用 docker run (...) --volume="/var/www/html:/var/www/html" --volumes-from="my-polymer-image-name" my-nginx-image
)。
我尝试执行以下 Dockerfile,但最后声明了该卷,但是当我尝试从 "my-nginx-container" (docker exec -ti my-nginx-image-name /bin/sh
).
所以我想我必须在使用它之前声明它。
问题
但是当我尝试安装我的 Bower 组件时,我注意到没有创建 bower_components
目录。
########################################################
# Dockerfile to build Polymer project and move to server
# Based on oficial node Dockerfile
########################################################
FROM node:6
VOLUME /var/www/html
# Install polymer and bower
RUN npm install -g \
polymer-cli \
bower
# Add project to a temp folder to build it
RUN mkdir -p /var/www/html/temp
COPY . /var/www/html/temp
WORKDIR /var/www/html/temp
RUN ls -la
RUN bower install --allow-root # here is where I try to build my project
RUN polymer build
# Move to release folder
WORKDIR /var/www/html
RUN mv /var/www/html/temp/build/unbundled/* /var/www/html
RUN bower install --allow-root
# Remove temporary content
RUN rm -rf /var/www/html/temp
docker 映像构建完成后装载卷。
在 Docker 文件的最后一行添加
ENTRYPOINT ["/bin/bash", "/etc/entrypoint.sh"]
像这样使用 entripoint 脚本。
#!/bin/bash
set -e #if error bash script will exit and stop docker image
cd /var/www/html/
bower install --allow-root
polymer build
mv /var/www/html/temp/build/unbundled/* /var/www/html
rm -rf /var/www/html/temp