![](/img/trans.png)
[英]"docker pull" requires exactly 1 argument error when using Gitlab Runner to deploy to Digital Ocean
[英]Deploy with gitlab-runner and docker
我正在尝试部署 nodejs 应用程序并使用本教程,所以我的.gitlab-ci.yml
看起来像
image: docker
services:
- docker:dind
stages:
- deploy
step-deploy-prod:
stage: deploy
script:
- docker build -t app/vue-demo .
- docker run -d -p 80:80 --rm --name todoapp app/vue-demo
和 Dockerfile 看起来像
FROM node:lts-alpine as build-stage
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
# production stage
FROM nginx:stable-alpine as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
此配置工作正常,docker 容器在部署后仍然存在,但对于我的应用程序,我需要启动npm run start
命令,所以我更改了 Dockerfile
FROM node:lts-alpine as build-stage
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
# production stage
FROM node:lts-alpine as production-stage
EXPOSE 80
CMD ["npm", "run", "start;"]
工作通过但 docker 容器在部署后关闭我做错了什么?
在您的第二阶段,除非您专门复制它们,否则没有文件。 在您的场景中,您甚至不需要 2 个构建阶段。 这应该有效:
FROM node:lts-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["npm", "run", "start"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.