如何将文件复制到Docker容器中的主机安装目录

列昂尼德·科皮洛夫(Leonid Kopylov)

我正在尝试将配置文件复制到主机安装目录下的jenkins / jenkins映像。我的Dockerfile的一部分:

FROM jenkins/jenkins
COPY file.txt /var/jenkins_home/

试图使用这样的音量:

-v volume_name:/var/jenkins_home

在这种情况下,我确实在jenkins中看到“ file.txt”,但是如果我使用:

-v /folder:/var/jenkins_home

我根本看不到jenkins中的file.txt。所以我想念这里吗?

米奇

根据您的问题:

...如果我使用:

-v /folder:/var/jenkins_home

我根本看不到jenkins中的file.txt。所以我想念这里吗?

主机卷(由于其基础实现而有时称为绑定安装)不会根据映像内容初始化该卷。只有命名卷才提供泊坞窗引擎的初始化支持。但是,可以使用不同的语法对绑定安装执行命名卷。以下是几种不同方法的示例:

  # create the volume in advance
  $ docker volume create --driver local \
      --opt type=none \
      --opt device=/home/user/test \
      --opt o=bind \
      test_vol

  # create on the fly with --mount
  $ docker run -it --rm \
    --mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=none,volume-opt=o=bind,volume-opt=device=/home/user/test \
    foo

  # inside a docker-compose file
  ...
  volumes:
    bind-test:
      driver: local
      driver_opts:
        type: none
        o: bind
        device: /home/user/test
  ...

就您而言,您可以执行以下操作:

docker run -it --rm \
  --mount type=volume,dst=/var/jenkins_home,volume-driver=local,volume-opt=type=none,volume-opt=o=bind,volume-opt=device=/folder \
  ...

要回答您实际要执行的操作:

就是说,Jenkins映像在/ var / jenkins_home定义了一个卷,这阻止了您使用更改该文件夹的RUN命令扩展映像的能力。COPY和ADD之所以起作用,是因为它们没有创建临时容器。作为解决方法,Jenkins开发人员使用/usr/share/jenkins/ref/映像内部作为初始化/ var / jenkins_home目录的源。因此,您的Dockerfile应该改为在其中复制所需的文件:

FROM jenkins/jenkins
COPY file.txt /usr/share/jenkins/ref/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将文件从主机复制到Docker容器?

将文件从主机复制到Docker容器的工作目录

如何将文件从 docker 容器传输/复制到 ubuntu 18.04 中的本地目录?

如何将文件从Docker容器传输/复制到ubuntu 18.04中的本地目录?

如何将文件从主机复制到 Kubernetes 容器?

如何将文件从 Docker Ubuntu 容器复制到 Windows 主机

如何使用docker-py中的复制将文件从容器复制到主机

如何将多个文件复制到Docker容器内的特定目录/位置

Dockerfile:将目录从Windows主机复制到Docker容器

Docker:将数据从主机复制到已挂载的主机目录,以从运行中的容器访问数据

Docker:将文件从Docker容器复制到主机

WordPress默认docker镜像如何将文件复制到主机系统中?

如何将文件从 git 复制到 jenkins 中的远程 docker 容器?

将文件从 docker 容器复制到本地主机

将文件从Docker容器复制到主机

将文件从Bamboo用户/主机复制到Docker容器

使用 Dockerfile 将文件从 Docker 容器复制到主机

Docker将文件从主机复制到容器

将文件从主机复制到Docker容器

将文件从Docker容器复制到主机

无法将文件从Docker容器复制到主机

如何将文件从本地复制到namenode Docker中的目录?

将文件从主机复制到Docker容器,在Docker中的脚本中执行

错误发生时如何将文件复制到Docker容器中:没有此类容器?

如何将文件从 docker 容器复制到我的主机?

如何创建 Docker 运行时参数以在运行时将主机文件复制到容器中?

如何使用Docker CP将多个文件从容器复制到主机

如何将Docker容器目录复制到Google Compute Engine实例

如何将文件从本地主机复制到Ansible剧本中的远程主机?