【发布时间】:2019-05-15 20:12:06
【问题描述】:
在 Jenkinsx 构建容器中工作... 我正在尝试在 docker 容器中安装卷。目录 get 已挂载,但是,源(主机)目录中存在的文件不存在于容器中。
在这种情况下,主机也是一个 docker 容器,所以基本上我是从 docker 容器运行 docker-compose。
有没有人遇到过这个问题并有解决方案?
结果如下:
bash-4.2# pwd
/home/jenkins
bash-4.2# ls -l datadir/
total 4
-rw-r--r-- 1 root root 4 May 15 20:06 foo.txt
bash-4.2# cat docker-compose.yml
version: '2.3'
services:
testing-wiremock:
image: rodolpheche/wiremock
volumes:
- ./datadir:/home/wiremock
bash-4.2# df -h
Filesystem Size Used Avail Use% Mounted on
overlay 95G 24G 71G 25% /
tmpfs 7.4G 0 7.4G 0% /dev
tmpfs 7.4G 0 7.4G 0% /sys/fs/cgroup
/dev/sda1 95G 24G 71G 25% /etc/hosts
tmpfs 7.4G 4.0K 7.4G 1% /root/.m2
shm 64M 0 64M 0% /dev/shm
tmpfs 7.4G 4.0K 7.4G 1% /home/jenkins/.docker
tmpfs 7.4G 1.9M 7.4G 1% /run/docker.sock
tmpfs 7.4G 0 7.4G 0% /home/jenkins/.gnupg
tmpfs 7.4G 12K 7.4G 1% /run/secrets/kubernetes.io/serviceaccount
bash-4.2# docker-compose up -d
Creating network "jenkins_default" with the default driver
Creating jenkins_testing-wiremock_1 ... done
bash-4.2# docker ps |grep wiremock
6293dee408aa rodolpheche/wiremock "/docker-entrypoint.…" 26 seconds ago Up 25 seconds 8080/tcp, 8443/tcp jenkins_testing-wiremock_1
8db3b729c5d2 rodolpheche/wiremock "/docker-entrypoint.…" 21 minutes ago Up 21 minutes (unhealthy) 8080/tcp, 8443/tcp zendeskintegration_rest_1
bd52fb96036d rodolpheche/wiremock "/docker-entrypoint.…" 21 minutes ago Up 21 minutes (unhealthy) 8080/tcp, 8443/tcp zendeskintegration_zendesk_1
bash-4.2# docker exec -it 6293dee408aa bash
root@6293dee408aa:/home/wiremock# ls -ltr
total 8
drwxr-xr-x 2 root root 4096 May 15 20:06 mappings
drwxr-xr-x 2 root root 4096 May 15 20:06 __files
【问题讨论】:
-
您有一个图像在 3 个容器中运行。你确定你分析了最新创建的?
-
@OlliD-Metz 如果您查看“root@6293dee408aa”,您会发现他确实分析了正确的。
-
但是如果 docker-compose up 创建了容器 8db3b...? 6293...可能只是一个旧的
-
@Nerses 在您的 Dockerfile 中,您将 /home/wiremock 声明为一个卷,您甚至可以在其中放置一个脚本。这意味着您不能再将主机目录挂载到它以引入更多文件(它不会像您希望的那样合并它们)。您可以将目录挂载到不同的路径,然后它将起作用。在您的 docker-entrypoint.sh 中,您可以将这些文件复制到您的 /home/wiremock 目录。但是这样一来,当事情发生变化时,您就必须始终重新启动...
-
@OlliD-Metz 它说是在 26 秒前为容器 6293dee408aa 创建的。也许你可以向右滚动?
标签: docker docker-compose jenkins-x