一.寶塔面板鏡像的制作(本地VM虛擬機操作)1.重啟docker服務systemctl daemon-reload; systemctl restart docker; 2.拉取一個centos鏡像作為基礎鏡像docker pull centos 3.創(chuàng)建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.后臺進入剛才創(chuàng)建的baota-centos容器docker exec -it f6d433d47420 bash 6.執(zhí)行寶塔安裝命令yum install -y wget && wget -O install.sh http://download./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 操作完成以后執(zhí)行命令,即可看到制作的鏡像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,這樣容易對實際環(huán)境造成沖突。默認啟動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,包括所需環(huán)境 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端口 五.防火墻開啟相關的端口#查看防火墻的啟動狀態(tài) 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容器界面執(zhí)行 sed -i "s|bind_user == 'True'|bind_user == 'XXXX'|" /www/server/panel/BTPanel/static/js/index.js 然后在寶塔面板按Ctrl+F5刷新頁面即可,該方法在寶塔7.4.5版本測試通過。 |
|