docker - Dockerfile WORKDIR,ENTRYPOINT,VOLUME…是否适用于子镜像?

标签 docker dockerfile

我想创建两个Docker镜像,一个是另一个的子代。但是我不知道我在父级中指定的属性(例如 WORKDIR ENTRYPOINT VOLUME ,...)是否适用于子级。

例如,如果我有两个带有两个Dockerfile的镜像:

  • myrepo / webapp-build
    FROM ruby:2.2.3
    
    RUN mkdir -p /app
    WORKDIR /app
    
    COPY Gemfile Gemfile.lock ./
    RUN gem install bundler && bundle install
    
    VOLUME /app
    ENTRYPOINT ["bundle", "exec"]
    
  • myrepo / webapp
    FROM myrepo/webapp-build
    
    COPY . ./
    
    EXPOSE 3000
    
    CMD ["rails", "server", "-b", "0.0.0.0"]
    

  • 第二张图片是否会将文件复制到/ app中?我在第二个镜像中的入口点将是bundle exec吗?

    最佳答案

    这些属性确实使用所述基础图像(带有 FROM directive)从一个基础图像传播到另一基础图像。

    但是对于WORKDIR,最好重复它以记录“。”。意思是COPY . xxx

    关于docker - Dockerfile WORKDIR,ENTRYPOINT,VOLUME…是否适用于子镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35719351/

    相关文章:

    php - Docker php无法构建:错误:版本^ 0.3的hirak/prestissimo软件包对PHP的要求与您的PHP版本不兼容

    azure - Kubernetes网络: my frontend cannot reach backend

    我的电脑重启后 Docker 远程 api 不重启

    Docker Alpine 镜像 + grpc : Warning: insecure environment read function 'getenv' used

    node.js - 带有 Node.js API 的 Keycloak 通过 Docker 失败

    python - 在Docker Image中安装python3.5的zbarlight python包

    mongodb - 无法连接到 docker 容器中的 mongodb

    docker - 使用 docker stack deploy 托管环境变量

    docker - 使用dockerfile运行mkdir命令

    docker - 如何获取由本地文件系统上的Docker容器生成的内容(最小失败示例)