溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

docker怎么運行花生殼實現(xiàn)內(nèi)外網(wǎng)穿透

發(fā)布時間:2023-03-07 11:44:24 來源:億速云 閱讀:263 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細介紹“docker怎么運行花生殼實現(xiàn)內(nèi)外網(wǎng)穿透”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“docker怎么運行花生殼實現(xiàn)內(nèi)外網(wǎng)穿透”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

環(huán)境:centos 7 ,64位

1、創(chuàng)建一個指定的文件夾作為安裝示例所用,該示例文件夾為“hsk-nwct”?!癶sk-nwct”內(nèi)創(chuàng)建“app”文件夾作為docker容器掛載出來的文件。

2、在“app”內(nèi)下載花生殼linux安裝包

本服務(wù)下載的版本是“phddns_5.2.0_amd64.rpm”,然后創(chuàng)建容器內(nèi)執(zhí)行的安裝命令文件“a.sh”?!癮.sh”文件內(nèi)容

#!/bin/sh
a="開始啟動 docker phddns 花生殼服務(wù)"
echo $a
 
echo "進入安裝包所在文件夾"
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è)置開機啟動"
   phddns  enable
   
fi

        該命令是先檢測容器內(nèi)有沒有安裝過花生殼應(yīng)用,沒有則執(zhí)行安裝的流程。

3、退出“app”文件,在“hsk-nwct”內(nèi)運行容器。執(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

第一次運行,可以考慮將“ --restart=always”去掉,方便查看容器是否運行成功,使用如下命令:

docker logs  hskct2023

4、在運行的容器內(nèi)安裝花生殼,命令如下:

docker exec -it hskct2023 /bin/bash /app/a.sh

執(zhí)行完后,可以看到如下

docker怎么運行花生殼實現(xiàn)內(nèi)外網(wǎng)穿透

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

5、試錯展示,最開始時是將第3、第4 步的兩個命令合在一起的,后來發(fā)現(xiàn),容器運行一會兒就自動退出了,查看日志也是提示安裝成功了,并沒有其他什么報錯。后來了解到容器運行就退出的幾個原因:

  • docker容器運行必須有一個前臺進程, 如果沒有前臺進程執(zhí)行,容器認為空閑,就會自行退出

  • 容器運行的命令如果不是那些一直掛起的命令( 運行top,tail、循環(huán)等),就是會自動退出

  • 這個是 docker 的機制問題

很明顯, 第四步的執(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

運行成功的示例:

docker怎么運行花生殼實現(xiàn)內(nèi)外網(wǎng)穿透

 7、其他命令,記錄一下方便回顧:

刪除花生殼的命令:yum remove phddns -y

讀到這里,這篇“docker怎么運行花生殼實現(xiàn)內(nèi)外網(wǎng)穿透”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI