【问题标题】:Running bower install inside a docker volume在 docker 卷内运行 bower install
【发布时间】:2017-02-20 19:46:12
【问题描述】:

上下文

所以我正在尝试在 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 polymer bower


    【解决方案1】:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-12
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多