docker?運(yùn)行花生殼實現(xiàn)內(nèi)外網(wǎng)穿透的詳細(xì)過程
環(huán)境:centos 7 ,64位
1、創(chuàng)建一個指定的文件夾作為安裝示例所用,該示例文件夾為“hsk-nwct”。“hsk-nwct”內(nèi)創(chuàng)建“app”文件夾作為docker容器掛載出來的文件。
2、在“app”內(nèi)下載花生殼linux安裝包,下載花生殼應(yīng)用:花生殼客戶端官方下載 - 貝銳花生殼官網(wǎng)
花生殼動態(tài)域名解析軟件 V3.2.0.12190 官方免費(fèi)安裝版 : http://www.dhdzp.com/softs/116324.html
本服務(wù)下載的版本是“phddns_5.2.0_amd64.rpm”,然后創(chuàng)建容器內(nèi)執(zhí)行的安裝命令文件“a.sh”。“a.sh”文件內(nèi)容
#!/bin/sh a="開始啟動 docker phddns 花生殼服務(wù)" echo $a echo "進(jìn)入安裝包所在文件夾" cd app/ echo "花生殼服務(wù)檢測" if command -v phddns >/dev/null 2>&1;then echo "服務(wù)已安裝" phddns status else echo "服務(wù)未安裝,執(zhí)行安裝" rpm -ivh phddns_5.2.0_amd64.rpm echo "服務(wù)完成、設(shè)置開機(jī)啟動" phddns enable fi
該命令是先檢測容器內(nèi)有沒有安裝過花生殼應(yīng)用,沒有則執(zhí)行安裝的流程。
3、退出“app”文件,在“hsk-nwct”內(nèi)運(yùn)行容器。執(zhí)行如下命令:
docker run --privileged=true --restart=always -e TZ="Asia/Shanghai" \ -d --net=host --name hskct2023 \ -v /root/docker/hsk-nwct/app:/app \ dokken/centos-7:latest
第一次運(yùn)行,可以考慮將“ --restart=always”去掉,方便查看容器是否運(yùn)行成功,使用如下命令:
docker logs hskct2023
4、在運(yùn)行的容器內(nèi)安裝花生殼,命令如下:
docker exec -it hskct2023 /bin/bash /app/a.sh
執(zhí)行完后,可以看到如下

可以考慮在容器內(nèi)繼續(xù)執(zhí)行 ”phddns status“ 查看是否啟動成功。記住 ”sn“碼,將它綁定到“設(shè)備列表”即可,管理端地址是:花生殼管理 。

如圖配置好了。
5、試錯展示,最開始時是將第3、第4 步的兩個命令合在一起的,后來發(fā)現(xiàn),容器運(yùn)行一會兒就自動退出了,查看日志也是提示安裝成功了,并沒有其他什么報錯。后來了解到容器運(yùn)行就退出的幾個原因:
- docker容器運(yùn)行必須有一個前臺進(jìn)程, 如果沒有前臺進(jìn)程執(zhí)行,容器認(rèn)為空閑,就會自行退出
- 容器運(yùn)行的命令如果不是那些一直掛起的命令( 運(yùn)行top,tail、循環(huán)等),就是會自動退出
- 這個是 docker 的機(jī)制問題
很明顯, 第四步的執(zhí)行“a.sh”的命令并不會一直掛著的,所以他會安裝完花生殼應(yīng)用就自己關(guān)閉退出了。試錯命令如下:
docker run --privileged=true --restart=always -e TZ="Asia/Shanghai" \ -d --net=host --name hskct2023 \ -v /root/docker/hsk-nwct/app:/app \ dokken/centos-7:latest /bin/bash /app/a.sh
6、每次都要輸入命令,為圖方便,我將需要執(zhí)行的命令整合了一下。在“hsk-nwct”內(nèi)創(chuàng)建“test.sh”文件,內(nèi)編輯
#!/bin/sh a="開始啟動 docker hsk 花生殼內(nèi)外網(wǎng)穿透 服務(wù)" echo $a docker stop hskct2023 docker rm hskct2023 docker run --privileged=true --restart=always -e TZ="Asia/Shanghai" \ -d --net=host --name hskct2023 \ -v /root/docker/hsk-nwct/app:/app \ dokken/centos-7:latest echo "容器啟動成功,開始執(zhí)行安裝" docker exec -it hskct2023 /bin/bash /app/a.sh exit exit
運(yùn)行成功的示例:

7、其他命令,記錄一下方便回顧:
刪除花生殼的命令:yum remove phddns -y
到此這篇關(guān)于docker 運(yùn)行花生殼實現(xiàn)內(nèi)外網(wǎng)穿透的文章就介紹到這了,更多相關(guān)docker 花生殼內(nèi)外網(wǎng)穿透內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker compose部署cassandra集群的操作代碼
這篇文章主要介紹了docker compose部署cassandra集群的操作代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-03-03
Docker 安裝 MySQL 并實現(xiàn)遠(yuǎn)程連接教程
這篇文章主要介紹了Docker 安裝 MySQL 并實現(xiàn)遠(yuǎn)程連接的教程,幫助大家更好的理解和使用docker容器,感興趣的朋友可以了解下2020-09-09
Docker容器Container鏡像Image如何存儲詳解
本文主要介紹Docker容器(Container)和鏡像(Image)是如何進(jìn)行數(shù)據(jù)存儲詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
淺談Docker基礎(chǔ)之?dāng)?shù)據(jù)管理
這篇文章主要介紹了淺談Docker基礎(chǔ)之?dāng)?shù)據(jù)管理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03
IDEA 通過docker插件發(fā)布springboot項目的詳細(xì)教程
這篇文章主要介紹了IDEA 通過docker插件發(fā)布springboot項目的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
docker在linux系統(tǒng)上邊下載鏡像速度緩慢的問題及解決
這篇文章主要介紹了docker在linux系統(tǒng)上邊下載鏡像速度緩慢的問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04

