Docker Hub上的Docker多目标生成失败
由于未知原因,Docker Hub尝试从刚构建的目标复制到同一Docker文件时,在Docker Hub上生成失败。当我在本地机器(Fedora27,DockerCE17.12)上尝试时,构建成功Docker Hub上的Docker多目标生成失败,docker,dockerfile,Docker,Dockerfile,由于未知原因,Docker Hub尝试从刚构建的目标复制到同一Docker文件时,在Docker Hub上生成失败。当我在本地机器(Fedora27,DockerCE17.12)上尝试时,构建成功 此处,失败的生成日志:文件夹/usr/src/app/build在第二个映像中不存在,因为根据: CMD在构建时不执行任何操作,但指定 图像的预期命令 在执行warn build命令时,应使用RUN而不是CMD 正确的Dockerfile是: ## Development environment ta
此处,失败的生成日志:文件夹
/usr/src/app/build
在第二个映像中不存在,因为根据:
CMD
在构建时不执行任何操作,但指定
图像的预期命令
在执行warn build
命令时,应使用RUN
而不是CMD
正确的Dockerfile
是:
## Development environment target
FROM node as dev-env
WORKDIR /usr/src/app
COPY [ "package*.json", "yarn.lock", "./" ]
RUN yarn install
COPY . .
EXPOSE 3000
ENTRYPOINT [ "./docker-entrypoint.sh" ]
## Build environment target
FROM node as build-env
WORKDIR /usr/src/app
COPY [ "package*.json", "yarn.lock", "./" ]
RUN yarn install --production
COPY . .
RUN yarn build
## Production environement target
FROM nginx as production-env
LABEL MAINTAINER Emmanuel Gautier <docker@emmanuelgautier.fr>
COPY --from=1 /usr/src/app/build /usr/share/nginx/html
EXPOSE 443 80
##开发环境目标
作为dev env从节点开始
WORKDIR/usr/src/app
复制[“package*.json”、“swarn.lock”、“/”]
运行纱线安装
复制
暴露3000
入口点[”/docker ENTRYPOINT.sh“]
##建立环境目标
从节点作为构建环境
WORKDIR/usr/src/app
复制[“package*.json”、“swarn.lock”、“/”]
长丝安装——生产
复制
长丝织物
##生产环境目标
来自nginx作为生产环境
标签维护者艾曼纽尔·戈蒂埃
复制--from=1/usr/src/app/build/usr/share/nginx/html
曝光443 80
成功。谢谢你的帮助