Docker一站式配置Nginx【图文教程】

Docker一站式配置Nginx【图文教程】

1、拉去Nginx镜像

docker pull nginx

[root@VM-12-11-centos /]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
e5ae68f74026: Pull complete
21e0df283cd6: Pull complete
ed835de16acd: Pull complete
881ff011f1c9: Pull complete
77700c52c969: Pull complete
44be98c0fab6: Pull complete
Digest: sha256:9522864dd661dcadfd9958f9e0de192a1fdda2c162a35668ab6ac42b465f0603
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

2、创建Nginx挂载目录卷

#当然,挂载地址自己决定就好

mkdir /usr/nginx/config /usr/nginx/log /usr/nginx/html

3、启动Nginx容器

【ps:挂载的技术卷需要与步骤二创建的文件路径相同】

docker run -p 80:80 -p 443:443 --name nginx -v /usr/nginx/config/:/etc/nginx/ -v /usr/nginx/logs/:/var/log/nginx -v /usr/nginx/html/:/usr/share/nginx/html/ -d nginx

##解释

  • docker run # docker运行容器命令
  • -p # 开放的端口号, 开放80端口以及443端口即可
  • –name #给启动的容器起别名
  • -v #挂载卷(不用进入容器进行修改容器内容)
  • -d #后台运行容器
[root@VM-12-11-centos /]# docker run -p 80:80 -p 443:443 --name nginx -v /usr/nginx/config/:/etc/nginx/ -v /usr/nginx/logs/:/var/log/nginx -v /usr/nginx/html/:/usr/share/nginx/html/ -d nginx
199b564f34cc5aa1e91e1129ba1ba97ef841aff29bf035d57bc5727d7fe0b263
[root@VM-12-11-centos /]# 

4、配置Nginx配置类

此处看步骤二,步骤二创建的地址

cd / usr/nginx/config/conf.d

vi default.conf

[root@VM-12-11-centos /]# cd /usr/nginx/config/conf.d
[root@VM-12-11-centos conf.d]# ls
default.conf  default.conf.bak
[root@VM-12-11-centos conf.d]# vi default.conf
# 进入编辑页面

5、修改配置类

server {
    listen 443;
    server_name  【监听域名】;
    location / {
        # 反向代理到 81 端口
        proxy_pass http://【内网地址】:80;
        add_header Access-Control-Allow-Origin *;
    }
    error_page 500 502 503 504  /50x.html;
    location = /50x.html {
    	root html;
    }
}
server {
    listen 443;
    server_name 【portainer.监听二级域名】;
    location / {
        # 反向代理到 9443 端口
        proxy_pass http://【内网地址】:9443;
        add_header Access-Control-Allow-Origin *;
    }
}

小技巧:出于安全考虑,对外端口只暴露80、443即可,Nginx代理转发使用内网地址,进行不同端口的对外暴露

6、重启项目进行验证

docker ps

docker restart 【nginx的Id】

[root@VM-12-11-centos /]# docker ps -a
CONTAINER ID   IMAGE   COMMAND                  CREATED          STATUS          PORTS                                                                                            NAMES
199b564f34cc   nginx   "/docker-entrypoint.…"   28 minutes ago   Up 19 minutes          0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp            nginx

[root@VM-12-11-centos /]# docker start 199b564f34cc
199b564f34cc
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值