docker 安装 nginx
1.首先,进入到dockerhub网站中
https://hub.docker.com/
2.然后在搜索框中输入nginx
3.选择第一个nginx
4.拷贝旁边的命令(docker pull nginx),作用是把nginx的镜像拉到本地
5.选择配置nginx容器的方式,这里我选择的是自己直接配置,不是通过dockerfile
根据下面的Description编写如下命令:
docker run --name xf-nginx -v /Users/soe/dockerEnv/nginx/www:/uar/share/nginx/html:ro -v /Users/soe/dockerEnv/nginx/config/nginx.conf:/etc/nginx/nginx.conf:ro -v /Users/soe/dockerEnv/nginx/config.d:/etc/nginx/conf.d:ro -d -p 8181:80 nginx
说明: --name xf-nginx 表示的是容器的名字为xf-nginx
-v /Users/soe/dockerEnv/nginx/www:/uar/share/nginx/html:ro 表示的是将本地/Users/soe/dockerEnv/nginx/www这个文件目录与容器里面的/uar/share/nginx/html关联在一起, 这个操作也被成为挂载,这样的话我们在本地操作www文件里面的内容的时候,里面的内容会与容器的html目录进行同步
-p 8181:80 表示宿主机以8181来对应到容器的80端口
当中在配置的时候碰到一个问题:
1.第一个问题:
docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "process_linux.go:339: container init caused \"rootfs_linux.go:57: mounting \\\"/Users/soe/dockerEnv/nginx/config\\\" to rootfs \\\"/var/lib/docker/overlay2/581ccb7bddfa58b195f2f5f3ac306d48ac4121937bfb2f7dfcc3833ef0aed5b5/merged\\\" at \\\"/var/lib/docker/overlay2/581ccb7bddfa58b195f2f5f3ac306d48ac4121937bfb2f7dfcc3833ef0aed5b5/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.
后来发现,是因为我在写命令的时候,本来应该是本地的一个文件和容器里面的一个文件挂载的,结果我本地的只指定到了文件所在的目录,导致挂载失败了。
2.第二个问题:
和上面的报错一样,但是我指定的已经是文件了,反复确认了好久,我的系统是win7,不知道是不是win7系统下面,生成的文件在进行关联的时候存在问题,吐血中~~~