拉去镜像
docker pull nginx
查看镜像
docker images
首先测试下nginx镜像是否可用,创建并启动nginx容器
docker run -d --name mynginx -p 80:80 0839
-d 指定容器以守护进程方式在后台运行
–name 指定容器名称,此处我指定的是mynginx
-p 指定主机与容器内部的端口号映射关系,格式 -p
[宿主机端口号]:[容器内部端口],此处我使用了主机80端口,映射容器80端口
0839 是nginx的镜像IMAGE ID前4位
设置镜像挂载本地文件
1.在主机/某个目录下执行 mkdir -p ./nginx/{conf,html,logs}创建挂载目录
2.将容器内的nginx.conf与default.conf文件分别拷贝到主机 创建 /nginx和/mnt/nginx/conf下,分别执行
docker cp 容器id或名称:/etc/nginx/nginx.conf ./
dokcer cp 容器id或名称:/etc/nginx/conf.d/default.conf ./conf/
cp 命令代表复制
结构如下:

执行docker stop 容器Id 命令停止刚刚创建的nginx容器,然后执行docker rm 容器Id 移除容器
重新执行命令 开启
docker run -d --name mynginx -p 80:80 -v /mnt/nginx/nginx.conf:/etc/nginx/nginx.conf -v /mnt/nginx/logs:/var/log/nginx -v /mnt/nginx/html:/usr/share/nginx/html -v /mnt/nginx/conf:/etc/nginx/conf.d --privileged=true 0839(容器id或版本号)
-v 挂载目录,格式 -v: 表示将主机目录与容器目录之间进行共享,
–privileged=true 容器内部对挂载的目录拥有读写等特权
这时候,会出现403,不要惊慌。我们的主机挂载 /mnt/nginx/html目录还为空
这时我们在容器的挂载 /nginx/html目录下创建index.html,内容随便写上hello docker nginx,再次访问主机IP
到这里就大功告成了!
本文详细介绍了如何使用Docker拉取并运行Nginx镜像,创建容器,进行端口映射,以及如何挂载本地文件实现配置文件和静态页面的管理。在遇到403错误时,通过在挂载目录创建index.html解决问题,最后成功启动并访问Nginx服务。

被折叠的 条评论
为什么被折叠?



