一.宝塔面板镜像的制作(本地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
这里需要在有网络环境操作,本人是在本地VM虚拟机操作
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
网上教程较多,这里不赘述了。参考以下两篇博文均可
默认安装在/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版本测试通过。
原文链接:https://blog.csdn.net/linhaiyun_ytdx/article/details/121158059
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END