繁体   English   中英

Docker:错误:作业失败:命令以退出代码 1 终止

[英]Docker: ERROR: Job failed: command terminated with exit code 1

我正在尝试将文件夹中的所有文件复制到正在构建的 docker 映像中的文件夹中。 这是我的 gitlab 管道在尝试构建 docker 映像时出现的错误。

Status: Downloaded newer image for nginx:1.18.0-alpine
 ---> 8c1bfa967ebf
Step 2/3 : COPY conf/default.conf /etc/nginx/conf.d/default.conf
COPY failed: Forbidden path outside the build context: ../../src/ ()
 ---> ffbb72db6c26
Step 3/3 : COPY ../../src/ /var/www/html/public
ERROR: Job failed: command terminated with exit code 1

这里是 dockerfile + 文件夹结构

我的 gitlab-ci.yml 文件:

image: docker:stable

services:
- docker:18-dind
variables:
  DOCKER_HOST: tcp://localhost:2375

php:

  before_script:
    - docker login gitlab.domain.com:5050 -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD}
  script:
    - docker build -t gitlab.domain.com:5050/project/php:7.2-fpm ./php-fpm
    - docker push gitlab.domain.com:5050/project/php:7.2-fpm

nginx:

  before_script:
    - docker login gitlab.domain.com:5050 -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD}
  script:
    - docker build -t gitlab.domain.com:5050/project/nginx:stable ./nginx
    - docker push gitlab.domain.com:5050/project/nginx:stable

COPY从您的 Docker 客户端的当前目录添加文件。

来自https://docs.docker.com/engine/reference/builder/

COPY obeys the following rules:

The <src> path must be inside the context of the build; you cannot COPY ../something /something, 
because the first step of a docker build is to send the context directory (and subdirectories) 
to the docker daemon.

If <src> is a directory, the entire contents of the directory are copied, 
including filesystem metadata.

所以请重新构建 docker 项目结构并复制当前目录结构内的内容。

直接来自docker 文档

路径必须在构建的上下文中; 您不能 COPY../something /something,因为 docker 构建的第一步是将上下文目录(和子目录)发送到 docker 守护程序。

作为替代方案,您可以像这样更新目录结构:

- code
  - nginx
  - php-fpm
  - src
  - Dockerfile

然后更新 Dockerfile 中COPY命令的源路径。

更新了 Dockerfile:

FROM
RUN

COPY php-fpm/php-fpm.d/entrypoint.sh /usr/local/bin/
COPY src/ /var/www/html/public/src/

WORKDIR
CMD

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM