Toggle navigation
深圳掌邦科技有限公司
掌邦首页
关于我们
行业资讯
服务范围
精品案例
解决方案
学习园地
联系我们
docker 使用nginx镜像实现反向代理和宝塔结合
2018-05-02
0
3450
一、获得镜像 执行如下命令: ```shell docker pull nginx #获取nginx镜像 ``` 二、构建自定义网络 执行如下命令: ```shell docker network create --driver bridge --subnet=10.0.0.0/8 --gateway 10.0.0.1 main_net ``` 构建10.0.0.0/8网段为自定义网络,该网络的可使用IP地址最多。 初步的网站规划: 10.0.0.1作为网段网关,分配给宿主机。 10.0.0.2作为主nginx反向代理,映射宿主机的80和443端口,部署网站引用。 其他IP可按需分配用途。 注:ECS私有网络的IP最好不要和docker自定义网络有重合,以便出现路由异常。 三、启动nginx容器 执行如下命令: ```shell mkdir -p /data/main/ #创建主配置目录 ``` ```shell docker run -dit --rm --name main_nginx nginx #启动nginx镜像 ``` ```shell docker cp main_nginx:/etc/nginx /data/main/ #将启动后nginx容器中的配置目录复制到宿主机 ``` ```shell docker stop main_nginx #停止main_nginx容器运行。注:停止后该容器会自动删除 ``` ```shell docker run -dit --rm --name main_nginx --network main_net --ip 10.0.0.2 -v /data/main/nginx:/etc/nginx:ro -p 80:80 -p 443:443 nginx #重新创建main_nginx容器,应映射宿主机80和443端口,以及数据卷/data/main/nginx ``` 注:将nginx配置文件转移到宿主机中是为了便于永久保存配置信息,以及后续修改配置。 后续修改了相关配置文件后,执行以下命令即可生效: ```shell docker exec -it main_nginx nginx -s reload #在main_nginx容器中重新加载配置文件 ``` 四、增加反向代理配置,并使其生效 在/data/main/nginx/conf.d/下增加文件prd_btpanel.conf 文件内容: 以下配置为将域名bt.yourdomain.com反向代理到宝塔面板的管理页面 注:在域名解析设置中需把域名bt.yourdomain.com指向该阿里云ECS的公网IP ``` server{ listen 80; server_name bt.yourdomain.com; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://10.3.0.0:8888/; break; } } ``` 以下配置为将域名www.yourdomain.com反向代理到宝塔面板里面配置的网站应用中 注:在域名解析设置中需把域名bt.yourdomain.com指向该阿里云ECS的公网IP ``` server{ listen 80; server_name www.yourdomain.com; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://10.3.0.0/; break; } } ``` 执行nginx容器反向代理加载最新配置命令 ``` docker exec -it main_nginx nginx -s reload #在main_nginx容器中重新加载配置文件(在宿主机中执行该命令) ``` 五、制作并使用宝塔面板镜像 1. 以centos镜像为基础启动容器 ```shell docker run -dit --name prd_btpanel --network main_net --ip 10.3.0.0 centos ``` 注:去掉--rm参数,以便退出容器后将容器提交为镜像。 2. 进入容器并执行命令 ```shell docker exec -it test_btpanel bash #进入容器(在宿主机中执行) cd /root/ #进入root目录(在容器内执行) yum -y update #更新软件包(在容器内执行) yum -y install epel-release #更新引用源(在容器内执行) yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh #安装宝塔面板(在容器内执行) ``` 注:中间需输入一次y,最后会显示宝塔面板的初始用户名和密码。样式如下: Bt-Panel: http://10.3.0.0:8888 username: admin password: 98255750 最后,退出容器 ```shell exit #(在容器内执行) ```
学习园地
/
0
个人 点赞
全部
(21)
php
(11)
mysql
(4)
java
(1)
linux
(3)
业务逻辑
(1)
javascript
(1)
热门资讯
大数据解读广州:老三广州,除了GDP还有…
成功!
您的信息已经发送给我们.
错误!
错误信息无法提交.
联系
我们
姓名
邮箱
留言
提交
传递客户价值和影响力
我们时刻站在客户角度思考问题,从根本利益出发寻找突破口,为您提供高端定制服务。
公司
地址
地址:
深圳市龙岗区坂田街道顺兴工业园E栋7楼703号
电话:
0755-28225150 / 136-8228-4438
网址:
www.zanboon.com
Email:
service@zanboon.com
QQ :
814758061
微信:
扫一扫获取更多资讯