gpt4 book ai didi

具有多个基础镜像的 Dockerfile

转载 作者:行者123 更新时间:2023-12-02 18:23:35 24 4
gpt4 key购买 nike

我正在尝试创建一个简单的 dockerfile,我需要在其中分多个步骤构建我的 nodejs 项目:

  • 安装和缓存我的依赖项
  • 运行我的单元测试
  • 运行我的验收测试
  • 构建我的项目

  • 以确保我的项目运行良好。这是我现在所拥有的:
    FROM node:6.9

    # Enviroment variables
    ENV HOMEDIR /data

    RUN mkdir -p ${HOMEDIR}
    WORKDIR ${HOMEDIR}

    # install all dependencies
    ADD package.json ./
    RUN npm install

    # ... some stuff goes here without any importance
    # add node content initially
    ADD . .
    CMD CI=true npm test && npm run test:acceptance && npm run build

    在运行验收测试时,我使用 selenium 服务器。 我需要java来实现这个 .

    事实是我没有安装 java,我想使用“标准”图像, 同时保留我当前的节点:6.9 图像 ,这将允许我轻松地从一个版本切换到另一个版本(如 https://hub.docker.com/_/openjdk/ )。我的意思是我不想在我当前的图像上手动安装 JAVA。

    我的问题是我不能在我的 dockerfile 中使用多个 FROM 源,而且我不知道我需要的东西是否可能。

    有什么建议吗?

    最佳答案

    docker 的方式是尽可能小而轻量级的图像。您的生产镜像不需要 java、selenium 等...

    构建和测试应用程序必须在容器之外。它可以是另一个镜像(使用 selenium、java 等;或者使用多个容器(如 selenium、java 等)构建集群)用于构建生产镜像。

    关于具有多个基础镜像的 Dockerfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41586377/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com