Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker服务生成失败:拉取访问被拒绝,存储库不存在或可能需要';docker登录';_Docker_Docker Compose - Fatal编程技术网

Docker服务生成失败:拉取访问被拒绝,存储库不存在或可能需要';docker登录';

Docker服务生成失败:拉取访问被拒绝,存储库不存在或可能需要';docker登录';,docker,docker-compose,Docker,Docker Compose,我有一个包含Dockerfile和dockercompose.yml的项目 Dockerfile: FROM mhart/alpine-node:11 AS builder WORKDIR /app COPY . . RUN yarn install RUN yarn build WORKDIR /app COPY --from=builder /app/build . CMD ["serve", "-p", "80", "-

我有一个包含
Dockerfile
dockercompose.yml
的项目

Dockerfile

FROM mhart/alpine-node:11 AS builder
WORKDIR /app
COPY . .
RUN yarn install
RUN yarn build
WORKDIR /app
COPY --from=builder /app/build .
CMD ["serve", "-p", "80", "-s", "."]
version: "3"

services:
  front:
    build: .
    ports:
      - 8080:80
    restart: always
docker compose.yml

FROM mhart/alpine-node:11 AS builder
WORKDIR /app
COPY . .
RUN yarn install
RUN yarn build
WORKDIR /app
COPY --from=builder /app/build .
CMD ["serve", "-p", "80", "-s", "."]
version: "3"

services:
  front:
    build: .
    ports:
      - 8080:80
    restart: always
当我试着像下面那样运行它时

docker compose up-d

我得到以下信息:

Building front
Step 1/8 : FROM mhart/alpine-node:11 AS builder
 ---> 5ff13b69f215
Step 2/8 : WORKDIR /app
 ---> Using cache
 ---> 1da7c0d4dfac
Step 3/8 : COPY . .
 ---> Using cache
 ---> 8d82bb9c0ecf
Step 4/8 : RUN yarn install
 ---> Using cache
 ---> 1e557a2dbe03
Step 5/8 : RUN yarn build
 ---> Using cache
 ---> ea2d3f56ff39
Step 6/8 : WORKDIR /app
 ---> Using cache
 ---> 1edb82c45c49
Step 7/8 : COPY --from=builder /app/build .
ERROR: Service 'front' failed to build: invalid from flag value builder: pull access denied for builder, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
我看到了关于Stackoverflow的另一个问题,我想这可能与我的问题很接近。



但是我只有一个构建阶段,而不是链接中的问题中的两个阶段。

您的docker构建失败,因为您缺少运行时环境中的
命令。这似乎是一个错误,您正试图从名为
builder
的上一个生成阶段复制文件,但仍处于生成的第一个(也是唯一一个)阶段(称为builder)

你有两个选择。任何一个都应该有效

  • 在构建中引入第二个运行时阶段:
  • 添加另一个
    FROM
    命令,其中包含您想要作为运行时的图像。我刚刚在这里再次使用了
    mhart/alpine节点:11
    ,但您可能需要一个不同的运行时环境

    FROM mhart/alpine-node:11 AS builder
    WORKDIR /app
    COPY . .
    RUN yarn install
    RUN yarn build
    
    FROM mhart/alpine-node:11 AS runtime
    RUN yarn global add serve
    WORKDIR /app
    COPY --from=builder /app/build .
    CMD ["serve", "-p", "80", "-s", "."]
    
  • 使其成为非多阶段构建:
  • 只需删除
    COPY
    命令并将您的workdir更改为build目录:

    FROM mhart/alpine-node:11 AS builder
    RUN yarn global add serve
    WORKDIR /app
    COPY . .
    RUN yarn install
    RUN yarn build
    WORKDIR /app/build
    CMD ["serve", "-p", "80", "-s", "."]
    

    您好,两位回答,请帮助我构建docker,但我得到错误:错误:for front\u student\u front\u 1无法启动服务front:OCI运行时创建失败:container\u linux.go:367:启动容器进程导致:exec:“service”:在$PATH中找不到可执行文件:未知。我试图搜索此错误,但没有avail@Hamza因斯好酷,所以它现在正在建设,但你的“指令”是关闭的。你知道“发球”应该是什么吗?它是由构建过程输出的二进制文件吗?如果是这样,您可能只需要将'CMD'更改为使用'./serve'而不是'serve'。你是在遵循指南还是什么?好的,我找到了,我必须安装serve with Thread,希望你不介意我编辑你的答案。