使用docker部署nginx容器

时间:2024-03-20 11:06:30

使用docker部署nginx容器

使用版本说明(系统版本:CentOS 3.10.0,docker版本:17.04.0-ce,nginx版本: nginx/1.13.5)。
第一步 :安装nginx容器,并将nginx配置文件挂载到宿主机
1.先创建一个临时的nginx容器:

docker run -d --name nginx  -p 82:80 -v /opt/local/nginx/:/etc/nginx nginx  

-d 以守护进程运行(运行在后台);
–name nginx 容器名称;
-p 82:80 端口映射(先不要占用80端口,因为这个容器是临时的)
不需要提前下载nginx的镜像(除非你需要一个特定的版本),docker会自动下载最新版本。
运行完成后,使用docker ps查看容器是否开始运行。


2.将容器中的配置文件 复制到本地目录:

docker cp nginx:/etc/nginx/ /opt/local

如果不先将配置文件复制出来,在下一步中nginx配置文件不会挂载到宿主机,只会创建一个新目录。

目录文件不需要提前创建。


3.创建正式nginx容器:

docker run -d --name mynginx  -p 80:80 -v /opt/local/nginx/logs:/var/log/nginx -v /opt/local/nginx:/etc/nginx nginx

-v 配置挂载路径 宿主机路径:容器内的路径

在这里挂载了两个 目录到 宿主机,一个是配置文件(etc/nginx),;另一个是日志文件(/var/log/nginx);


4.删除第一次创建的临时nginx容器

docker stop nginx  //先将容器停止运行
docker rm nginx  //删除容器

以后可以直接进入/opt/local/nginx/对nginx进行配置,并查看日志。

可以直接进入 http:// [服务器ip] 访问,成功访问如下图所示。

成功访问页面
使用docker部署nginx容器


路径说明:
nginx容器中nginx配置文件路径:/etc/nginx
nginx.conf:nginx常用配置项(其中没有server配置)
/etc/nginx/conf.d: 反向代理以及负载均衡的配置
nginx容器中nginx日志文件路径:/opt/local/nginx/logs
access.log:正常访问日志
error.log:错误日志(在配置nginx时,如果出错可以在这里找原因)
主机中nginx配置文件路径:/opt/local/nginx
主机中nginx日志文件路径:/opt/local/nginx/logs


容器时间与主机时间相差8个时区解决办法:
在安装完nginx容器后发现,容器时间与主机时间相差了 8个时区,导致nginx访问日志时间出错。
解决办法:使用主机中的时区文件替换容器中的文件
docker cp /etc/localtime mynginx:/etc/localtime