手把手docker安装nginx

记录下一步步流程,没有使用dockerfile,直接命令安装。
1、下载nginx镜像, 不指定版本默认拉取最新版本
  docker pull nginx
 
2、创建nginx挂载目录, 目录可以自己随便建
  mkdir -p /usr/local/nginx/html
 
3、启动nginx容器,如果非80端口则使用自己实际端口
  docker run --name nginx -p 80:80 -d nginx
 
4、将nginx容器下文件,copy到步骤2的挂载目录下
  docker cp nginx:/etc/nginx/conf.d  /usr/local/nginx/conf/
  docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
  docker cp nginx:/usr/share/nginx/html/index.html /usr/local/nginx/html/index.html
 
5、修改宿主机目录中的nginx.conf文件,一般是在/usr/local/nginx/conf/nginx.conf
  查找nginx安装路径命令:whereis nginx
  查找nginx配置项所在位置: sudo find / -name nginx.conf
      根据实际业务配置端口、https、http端口转发
 
6、删除容器
  docker rm -f nginx  
 
7、启动容器并挂载目录 ,端口使用自己实际端口,可多个 
  docker run \
  -p 80:80 \
  -p 81:81 \
  -p 443:443 \
  --name nginx \
  --restart=always \
  -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
  -v /usr/local/nginx/conf/cert:/etc/nginx/cert \
  -v /usr/local/nginx/ssl:/etc/nginx/ssl/  \
  -v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d \
  -v /usr/local/nginx/log:/var/log/nginx \
  -v /usr/local/nginx/html:/usr/share/nginx/html \
  -d nginx
 
8、进入docker容器命令,以nginx为例 进入容器 /bin/bash 相当于进入控制台
  docker exec -it nginx /bin/bash
 
9、不重启docker,重新加载nginx配置
  docker exec 容器id nginx -s reload
 
10、隐藏Server返回的nginx版本号等信息
  在ngxin.conf配置里增加一句 server_tokens off  
  

 

11、查看docker容器安装的nginx版本
  docker image inspect imageName | grep -i version 
 
注意事项:
  1、第5条,ngxin.conf里配置的路径,是docker容器内的路径,不是宿主机,一般在 /usr/share/nginx/html ,第7点运行容器的时候有路径
  2、对于一些前后端分离的项目,需要配置http端口转发的,地址不能用localhost或127.0.0.1,要使用宿主机的ip,proxy_pass http://宿主机ip:转发端口
 
 
posted @ 2023-06-02 18:42  周颜  阅读(1696)  评论(0编辑  收藏  举报