如何将 nginx.conf 挂载到 Docker Jenkins 中的容器?
How to mount nginx.conf to container in Docker Jenkins?
我的 Nginx 在 docker-compose.yml:
...
nginx:
image: nginx:1.19.2-alpine
restart: always
hostname: nginx
ports:
- "9000:9000"
- "9001:9001"
depends_on:
- minio
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
container_name: nginx
...
我在终端中使用 docker compose up -d
,它工作正常。
但是,当我在 Jenkins 容器中使用 docker compose up -d
时,它无法创建 Nginx 容器并出现此错误:
ERROR: for nginx Cannot start service nginx: failed to create shim: OCI runtime create failed:
container_linux.go:380: starting container process caused: process_linux.go:545:
container init caused: rootfs_linux.go:75: mounting
"/var/jenkins_home/workspace/workspace/nginx.conf" to rootfs at "/etc/nginx/nginx.conf" caused:
mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file
(or vice-versa)? Check if the specified host path exists and is the expected type
错误是否意味着 Docker 想要将文件装载到 Jenkins 的卷中,所以没有 nginx.conf
可以装载?
如何将我的 nginx.conf
挂载到我的 Nginx 容器?
提前致谢。
看起来您正在从相对路径 ./nginx.conf 等位置执行 docker-compose up
不正确。
当 docker-compose 找不到要安装的源 bind-volume 时,此错误很典型。
确保您在正确的 docker-compose 上下文中或尝试使用绝对路径而不是 ./nginx.conf
我的 Nginx 在 docker-compose.yml:
...
nginx:
image: nginx:1.19.2-alpine
restart: always
hostname: nginx
ports:
- "9000:9000"
- "9001:9001"
depends_on:
- minio
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
container_name: nginx
...
我在终端中使用 docker compose up -d
,它工作正常。
但是,当我在 Jenkins 容器中使用 docker compose up -d
时,它无法创建 Nginx 容器并出现此错误:
ERROR: for nginx Cannot start service nginx: failed to create shim: OCI runtime create failed:
container_linux.go:380: starting container process caused: process_linux.go:545:
container init caused: rootfs_linux.go:75: mounting
"/var/jenkins_home/workspace/workspace/nginx.conf" to rootfs at "/etc/nginx/nginx.conf" caused:
mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file
(or vice-versa)? Check if the specified host path exists and is the expected type
错误是否意味着 Docker 想要将文件装载到 Jenkins 的卷中,所以没有 nginx.conf
可以装载?
如何将我的 nginx.conf
挂载到我的 Nginx 容器?
提前致谢。
看起来您正在从相对路径 ./nginx.conf 等位置执行 docker-compose up
不正确。
当 docker-compose 找不到要安装的源 bind-volume 时,此错误很典型。
确保您在正确的 docker-compose 上下文中或尝试使用绝对路径而不是 ./nginx.conf