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://www.dbjr.com.cn/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搭建lanproxy內(nèi)網(wǎng)穿透服務(wù)
這篇文章主要介紹了詳解基于docker搭建lanproxy內(nèi)網(wǎng)穿透服務(wù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04三臺(tái)機(jī)器使用Docker部署Redis集群方式
這篇文章主要介紹了三臺(tái)機(jī)器使用Docker部署Redis集群方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07Docker不同網(wǎng)段下的容器互聯(lián)的實(shí)現(xiàn)
本文主要介紹了Docker不同網(wǎng)段下的容器互聯(lián)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01docker空間爆滿導(dǎo)致的進(jìn)入容器失敗的解決方案
這篇文章主要介紹了docker空間爆滿導(dǎo)致的進(jìn)入容器失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03vscode利用ssh配置docker容器并開啟遠(yuǎn)程編程模式的詳細(xì)步驟
這篇文章主要介紹了vscode利用ssh配置docker容器內(nèi)開啟遠(yuǎn)程編程模式,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03使用Docker和Nginx部署Web服務(wù)的操作指南
本文給大家介紹了Docker和Nginx部署Web服務(wù)的完美指南,Docker是一種容器化技術(shù),它可以將應(yīng)用程序及其依賴項(xiàng)打包到一個(gè)獨(dú)立的、可移植的容器中,而Nginx則是一款高性能的Web服務(wù)器和反向代理服務(wù)器,感興趣的朋友可以參考下2024-01-01