docker?運(yùn)行花生殼實(shí)現(xiàn)內(nèi)外網(wǎng)穿透的詳細(xì)過程
環(huán)境:centos 7 ,64位
1、創(chuàng)建一個(gè)指定的文件夾作為安裝示例所用,該示例文件夾為“hsk-nwct”。“hsk-nwct”內(nèi)創(chuàng)建“app”文件夾作為docker容器掛載出來的文件。
2、在“app”內(nèi)下載花生殼linux安裝包,下載花生殼應(yīng)用:花生殼客戶端官方下載 - 貝銳花生殼官網(wǎng)
花生殼動(dòng)態(tài)域名解析軟件 V3.2.0.12190 官方免費(fèi)安裝版 : http://m.fzitv.net/softs/116324.html
本服務(wù)下載的版本是“phddns_5.2.0_amd64.rpm”,然后創(chuàng)建容器內(nèi)執(zhí)行的安裝命令文件“a.sh”。“a.sh”文件內(nèi)容
#!/bin/sh a="開始啟動(dòng) docker phddns 花生殼服務(wù)" echo $a echo "進(jìn)入安裝包所在文件夾" cd app/ echo "花生殼服務(wù)檢測(cè)" 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ī)啟動(dòng)" phddns enable fi
該命令是先檢測(cè)容器內(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“ 查看是否啟動(dòng)成功。記住 ”sn“碼,將它綁定到“設(shè)備列表”即可,管理端地址是:花生殼管理 。

如圖配置好了。
5、試錯(cuò)展示,最開始時(shí)是將第3、第4 步的兩個(gè)命令合在一起的,后來發(fā)現(xiàn),容器運(yùn)行一會(huì)兒就自動(dòng)退出了,查看日志也是提示安裝成功了,并沒有其他什么報(bào)錯(cuò)。后來了解到容器運(yùn)行就退出的幾個(gè)原因:
- docker容器運(yùn)行必須有一個(gè)前臺(tái)進(jìn)程, 如果沒有前臺(tái)進(jìn)程執(zhí)行,容器認(rèn)為空閑,就會(huì)自行退出
- 容器運(yùn)行的命令如果不是那些一直掛起的命令( 運(yùn)行top,tail、循環(huán)等),就是會(huì)自動(dòng)退出
- 這個(gè)是 docker 的機(jī)制問題
很明顯, 第四步的執(zhí)行“a.sh”的命令并不會(huì)一直掛著的,所以他會(huì)安裝完花生殼應(yīng)用就自己關(guān)閉退出了。試錯(cuò)命令如下:
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="開始啟動(dòng) 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 "容器啟動(dòng)成功,開始執(zhí)行安裝" docker exec -it hskct2023 /bin/bash /app/a.sh exit exit
運(yùn)行成功的示例:

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

