拉取nginx镜像
docker pull nginx
先默认启动一个临时的nginx实例
主要是为了获取默认的配置文件
docker run --name nginx -p 80:80 -d nginx
- -p: 表示宿主机的80端口映射到容器内的80端口
进入容器内部
docker exec -it nginx /bin/bash
查看文件所在目录
默认文件所在容器内部目录地址 /etc/nginx,主要的就是nginx.conf和conf.d文件夹。
退出容器
exit
复制容器内的文件到宿主机中
docker cp nginx:/etc/nginx/nginx.conf ./nginx
docker cp nginx:/etc/nginx/conf.d/ ./nginx
这里的nginx需要在宿主机中先创建好,这里我也先创建好html目录和log目录,用来后面启动容器存放的静态资源和日志
删除临时启动的nginx实例
docker stop nginx
docker rm -f 容器名称
重新启动nginx并挂在配置文件
docker run --name nginx -d -p 8080:80
-v /home/cwl/AppServices/nginx/html:/usr/share/nginx/html
-v /home/cwl/AppServices/nginx/conf.d:/etc/nginx/conf.d
-v /home/cwl/AppServices/nginx/log:/var/log/nginx
-v /home/cwl/AppServices/nginx/nginx.conf:/etc/nginx/nginx.conf nginx
参数解释:
- –name: 表示实例的名称
- -d: 表示后台启动
- -p: 映射端口,将宿主机的8080端口映射为容器内部的80端口
- -v: 将外部的文件或文件夹映射为内部
启动后访问8080
你可能访问显示404,这是应为你的html目录里没有内容,添加一个index.html就可以了
curl 127.0.0.1:8080
评论区