1:获取Niginx
docker pull nginx
2: 在data下面创建分别创建以下四个目录
mkdir -p /mydata/nignx/conf 挂载容器里面的配置,即nginx.conf
mkdir -p /mydata/nignx/conf.d 挂载容器里面的子配置,即nginx.conf里面include的配置文件
mkdir -p /mydata/nignx/logs 挂载容器里面的代理的日志文件
mkdir -p /mydata/nignx/html 挂载容器里面的界面的访问
3: 启动nginx(先不挂载nginx.con配置文件)
docker run --name nginx -d -p 80:80 --name nginx1.0 --net host \
-v /mydata/nignx/logs:/var/log/nginx nginx
4: 然后使用如下命令进入交互式终端:
docker exec -it nginx1.0 /bin/bash
然后使用如下命令找到nginx.conf 配置文件
cd /etc/nginx/
ls
可以看到nginx.conf相关文件
5:最后使用exit命令退出交互式终端,使用如下命令进行配置文件的拷贝,将其粘贴到/mydata/nignx/conf目录下
docker cp nginx1.0:/etc/nginx/nginx.conf /mydata/nignx/conf/ #使用id或names【mynginx】
docker cp nginx1.0:/etc/nginx/conf.d/default.conf /mydata/nignx/conf.d/
6:删除容器
docker stop nginx1.0
docker rm nginx1.0
7: 使用挂载目录去启动命令
docker run --name nginx -d -p 80:80 --net host \
-v /mydata/nignx/html:/usr/share/nginx/html \
-v /mydata/nignx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nignx/conf.d:/etc/nginx/conf.d \
-v /mydata/nignx/logs:/var/log/nginx nginx
命令解读:
run:启动一个docker容器
name:容器的名称
d: 后台启动
p: 绑定别的端口 -p a:b 将宿主机器的a端口绑定到容器的b端口 -P 为随机绑定到端口
net :绑定的网络 这里配置成host(因为对于容器内部来说也有一个ip如果不配置的话默认用容器的ip,导致访问不到)
v : 挂载的内容 宿主机器的文件夹:容器的文件夹
8:随便写一个html页面放到/mydata/nignx/html下,否则会报403
9:最后访问ip地址即可
10:开机自启
docker update nginx --restart=always