打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
bt宝塔面板docker版部署及制作
userphoto

2022.12.04 北京

关注

一.宝塔面板镜像的制作(本地VM虚拟机操作)

1.重启docker服务

systemctl daemon-reload;

systemctl restart docker;

2.拉取一个centos镜像作为基础镜像

docker pull centos

3.创建docker容器

docker images;

docker  run  -dit -it -p 8888:8888 --name=baota-centos  5d0da3dc9764(docker images命令查出的centos镜像id)  /bin/bash;

4.查看正常运行的容器

docker ps -a

5.后台进入刚才创建的baota-centos容器

docker exec -it f6d433d47420 bash

 6.执行宝塔安装命令

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

此处可以直接启动宝塔进行使用,启动命令如下

docker run -dit -p 8088:80 -p 334:443 -p 3309:3306 -p 9001:9000 -p 8888:8888 --privileged=true --restart=always --name=btlnmpalipine centos

Docker run就不用说了嘛,直接入正题

-p   :   端口映射  就是宿主机的端口映射到Docker镜像的端口去      8088是宿主机的,后面80的是运行的镜像的端口。

--privileged=ture   使用该参数,container内的root拥有真正的root权限,

--restart参数有三个可选值:no,on-failure,always,always表示只要容器退出,则docker将自动重启容器,on-failure指定最大重启次数

-name   是运行的这个镜像你想给它去什么名字

centos     是即将运行的这个镜像是鲫鱼centos镜像来运行的。


7.将容器baota-centos制作成镜像

第六步安装完成后,就Ctrl + D 安全退出容器进程,容器还在后台运行,接下来开始将该容器制作成镜像。

命令格式:docker  commit  -m  '镜像描述'  -a  '制作者'  容器名  镜像名

docker  commit  -m  'baota-centos'  -a  'haige'  baota-centos  baota-3

操作完成以后执行命令,即可看到制作的镜像baota3

docker images

 8.将制作好的baota3镜像打成 tar 包

命令格式:docker  save  -o  tar包的名字路径  镜像名

docker  save  -o  home/haige/baota-3.tar  baota-3

二.宝塔镜像的真机导入使用

1.将镜像导入局域网真机

命令格式:docker  load  <  tar包所在路径

docker  load  <  home/haige/baota-3.tar

2.使用固定ip + 端口启动baota3镜像

通常情况下docker服务安装后,docker默认使用的网络IP段是172.17.0.1/24,这样容易对实际环境造成冲突。默认启动Docker容器的时候,使用的默认网络是不支持指派固定IP。这里我们需要将docker的网络跟主机网络保持一致,端口开启宝塔面板服务的8888端口

docker run -itd --name baota-centos --net=host  -p 8888:8888 baota-3

3.在真机上测试与docker容器的网络连通性

telnet 172.17.0.2 8888

以上情况网络是连通的,是可以访问的。

三.局域网离线安装nginx

网上教程较多,这里不赘述了。参考以下两篇博文均可

linux上离线安装nginx,包括所需环境

linux下nginx离线安装

默认安装在/usr/local/nginx路径下

四.在nginx上配置宝塔面板服务的反向代理

server {

        listen       80;

        server_name  127.0.0.1;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            proxy_pass http://172.17.0.2:8888;

			proxy_connect_timeout 100000;

			proxy_read_timeout 100000;

			proxy_send_timeout 100000;

			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;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

启动命令

./nginx

重启

./nginx -s reload

 判断配置文件是否正确 

 ./nginx -t

 停止

 ./nginx -s stop

这时可能还访问不了,因为防火墙可能没开启80端口

五.防火墙开启相关的端口

#查看防火墙的启动状态

systemctl status firewalld

#已开启的防火墙端口

firewall-cmd --zone=public --list-ports

#开启防火墙的某个端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=8888/tcp --permanent

#重载防火墙配置

firewall-cmd --reload

六.解决去除宝塔强制登陆绑定账号

因为是局域网,所以宝塔的强制登陆官网绑定账号,相当于面板功能用不了。

宝塔更新到7.6.0版本之后,之前的方法已无法使用,请使用以下命令:

echo "{\"uid\":1000,\"username\":\"admin\",\"serverid\":1}" > /www/server/panel/data/userInfo.json

 复制以下命令在docker容器界面执行

sed -i "s|bind_user == 'True'|bind_user == 'XXXX'|" /www/server/panel/BTPanel/static/js/index.js

然后在宝塔面板按Ctrl+F5刷新页面即可,该方法在宝塔7.4.5版本测试通过。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
手把手教你,docker安装nginx
docker入门,这一篇就够了。
Docker安装nginx
Docker 容器技术使用指南 | 周末送资料
centos安装Docker与使用&&构建业务镜像挂载卷harbor仓库的高可用及网络模式和资源限制介绍
宝塔面板中使用docker管理器 管理多个面板
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服