Docker 安装 出现 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 镜像时

docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx
1. -p 80:80  //把本机80端口 映射到 docker容器
2. --name mynginx //名称为mynginx
3. -v $PWD/www:/www //把当前目录下的www 文件夹 挂载到 docker的 www 目录
4. -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf //把当前目录下的conf/nginx.conf 挂载到 docker容器的/etc/nginx/nginx.conf文件上
5. -d nginx 以守护进程方式加载镜像 nginx

执行后报错
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:364: container init caused \"rootfs_linux.go:54: mounting \\\"/usr/local/nginx/conf/nginx.conf\\\" to rootfs \\\"/var/lib/docker/overlay2/a17b89ade6183e400160108f8e2698007ef99e09843f6c34623e6402ba4ff3da/merged\\\" at \\\"/var/lib/docker/overlay2/a17b89ade6183e400160108f8e2698007ef99e09843f6c34623e6402ba4ff3da/merged/etc/nginx/nginx.conf\\\" caused \\\"not a directory\\\"\""
: 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.

出现的原因是 $PWD/conf/nginx.conf 是一个目录,而不是文件

解决方法:删除本机的conf/nginx.conf 目录,然后新建一个nginx.conf 文件就可以了。

猜你喜欢

转载自www.cnblogs.com/934827624-qq-com/p/10149109.html