1.基础要求
系统:MacOS
环境:已下载好nginx镜像
2.先启动普通nginx
docker run -d -p 80:80 --name nginx nginx
3.创建目录(用于copy配置文件)
mkdir -p docker/nginx/conf.d
4.copy容器中的配置文件到宿主(下面是两个cp命令)
docker cp nginx:/etc/nginx/conf.d/default.conf /Users/wangtao/docker/nginx/conf.d/default.conf
docker cp nginx:/etc/nginx/nginx.conf /Users/wangtao/docker/nginx/nginx.conf
如果正常应该能看到
5. 编辑配置文件
vi /Users/wangtao/docker/nginx/nginx.conf
ps:我这里是访问http://192.168.16.67:80,其实加载的是http://192.168.16.67:8001/下面的网页,遇到 /api/ 是代理到 http://192.168.16.67:8000/的接口,特别要注意,这里我是本地测试但是不能用localhost,要用192.168.16.67,
docker容器隔离导致
6.删除原nginx,创建一个新的,主要是关联本机的配置目录
删除
docker rm -f nginx
创建
docker run -d -p 80:80 --name nginx -v /Users/wangtao/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /Users/wangtao/docker/nginx/conf.d:/etc/nginx/conf.d -v /Users/wangtao/docker/nginx/logs:/var/log/nginx nginx
7.部分docker命令说明
- -d: 后台运行容器,并返回容器ID
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
- --name: 为容器指定一个名称;
- -v: 绑定一个卷 格式为:主机(宿主)卷 :容器卷