docker 配置nginx

285 阅读2分钟
#1.安装
docker pull nginx #拉取镜像
docker images nginx  #查看镜像

#2.启动
docker run --rm --name nginx-test -p 8081:80 -d nginx 
#--rm:容器终止运行后,自动删除容器文件。
#--name nginx-test:容器的名字叫做nginx-test,名字自己定义.
#-p: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口
#“ : ”的说明 (左边----8081当前服务器 : 右边---80 docker镜像)
#-d:容器启动后,在后台运行

#3.访问地址
http://xxx.xxx.0.1:8081

#4.建立文件夹
mkdir -p /home/nginx/www /home/nginx/logs /home/nginx/conf /home/nginx/conf.d
# -p为递归创建对应文件夹
#www: 目录将映射为 nginx 容器配置的虚拟目录。
#logs: 目录将映射为 nginx 容器的日志目录。
#conf: 目录里的配置文件将映射为 nginx 容器的配置文件。

#查看id
docker ps
#5.复制配置nginx.conf到本地
docker cp xxxxxxxx:/etc/nginx/nginx.conf /home/nginx/conf/
#复制错误信息
docker cp xxxxxxxx:/var/log/nginx /home/nginx/logs
#复制配置conf.d到本地
docker cp xxxxxxxx:/etc/nginx/conf.d/ /home/nginx/conf.d
#复制www到本地
docker cp xxxxxxxx:/usr/share/nginx/html /home/nginx/www

#6.部署命令
docker run --rm -d -p 8081:80 --name nginx-test-web
  -v /home/nginx/www:/usr/share/nginx/html
  -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
  -v /home/nginx/conf.d:/etc/nginx/conf.d
  -v /home/nginx/logs:/var/log/nginx
  nginx

#--rm:容器终止运行后,自动删除容器文件。
#-p 8081:80: 将容器的 80 端口映射到主机的 8082 端口.
#--name nginx-test-web:将容器命名为 nginx-test-web 
#-v /home/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。
#-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。 
#-v /home/nginx/conf.d:/etc/nginx/conf.d:将容器中 /etc/nginx/conf.d 目录挂载到宿主机中的 conf.d 目录下;
#-v /home/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。

#测试网页
 cd /home/nginx/www/
 vim index.html 
 
<html>
<head>
<title>Nginx test !!!</title>
</head>
<body>
    <h1>hello world</h1> 
</body>
</html>

测试访问
http://xxx.xxx.0.1:8081

#记得部署的文件夹 要给予读写权限
chomd 777 www

注:

  1. 实际开发项目不建议nginx在docker部署,容易与外部的nginx冲突
  2. 建议单个服务器直接部署单个nginx,统一做转发处理,也方便配置和reload。