Docker 安装 nginx
目录
- 随便启动一个nginx实例,只是为了复制出配置
docker run -p80:80 --name nginx -d nginx:1.10
- 将容器内的配置文件拷贝到/mydata/nginx/conf/ 下
sudo mkdir -p /mydata/nginx/html
sudo mkdir -p /mydata/nginx/logs
sudo mkdir -p /mydata/nginx/conf
docker container cp nginx:/etc/nginx/* /mydata/nginx/conf/
#由于拷贝完成后会在config中存在一个nginx文件夹,所以需要将它的内容移动到conf中
mv /mydata/nginx/conf/nginx/* /mydata/nginx/conf/
rm -rf /mydata/nginx/conf/nginx
- 终止原容器:
docker stop nginx
- 执行命令删除原容器:
docker rm nginx
- 创建新的Nginx,执行以下命令
docker run \
--name nginx \
--privileged=true \
--restart=always \
--net=host \
-m 100m \
--cpus=0.5 \
-v /mydata/nginx/html:/etc/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf/:/etc/nginx \
-v /etc/localtime:/etc/localtime:ro \
-d nginx:1.10
- 设置开机启动nginx
docker update nginx --restart=always
- 创建“/mydata/nginx/html/index.html”文件,测试是否能够正常访问
echo '<h2>hello nginx!</h2>' >index.html
w```
访问:http://nginx所在主机的IP:80/index.html
**完整日志**
```conf
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'user_agent:$http_user_agent http_x_forwarded_for:$http_x_forwarded_for request_time:$request_time upstream_response_time:$upstream_response_time upstream_addr:$upstream_addr upstream_status:$upstream_status ';