日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

docker 运行花生壳实现内外网穿透

發布時間:2023/12/29 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker 运行花生壳实现内外网穿透 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境:centos 7 ,64位

1、創建一個指定的文件夾作為安裝示例所用,該示例文件夾為“hsk-nwct”。“hsk-nwct”內創建“app”文件夾作為docker容器掛載出來的文件。

2、在“app”內下載花生殼linux安裝包,下載花生殼應用:花生殼客戶端官方下載 - 貝銳花生殼官網

本服務下載的版本是“phddns_5.2.0_amd64.rpm”,然后創建容器內執行的安裝命令文件“a.sh”。“a.sh”文件內容

#!/bin/sh a="開始啟動 docker phddns 花生殼服務" echo $aecho "進入安裝包所在文件夾" cd app/echo "花生殼服務檢測"if command -v phddns >/dev/null 2>&1;then echo "服務已安裝"phddns statuselse echo "服務未安裝,執行安裝"rpm -ivh phddns_5.2.0_amd64.rpmecho "服務完成、設置開機啟動"phddns enablefi

? ? ? ? 該命令是先檢測容器內有沒有安裝過花生殼應用,沒有則執行安裝的流程。

3、退出“app”文件,在“hsk-nwct”內運行容器。執行如下命令:

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、在運行的容器內安裝花生殼,命令如下:

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

執行完后,可以看到如下

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

?如圖配置好了。

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

  • docker容器運行必須有一個前臺進程, 如果沒有前臺進程執行,容器認為空閑,就會自行退出
  • 容器運行的命令如果不是那些一直掛起的命令( 運行top,tail、循環等),就是會自動退出
  • 這個是 docker 的機制問題
  • 很明顯, 第四步的執行“a.sh”的命令并不會一直掛著的,所以他會安裝完花生殼應用就自己關閉退出了。試錯命令如下:

    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、每次都要輸入命令,為圖方便,我將需要執行的命令整合了一下。在“hsk-nwct”內創建“test.sh”文件,內編輯

    #!/bin/sh a="開始啟動 docker hsk 花生殼內外網穿透 服務" echo $adocker stop hskct2023 docker rm hskct2023docker 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 "容器啟動成功,開始執行安裝"docker exec -it hskct2023 /bin/bash /app/a.shexit exit

    運行成功的示例:

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

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

    總結

    以上是生活随笔為你收集整理的docker 运行花生壳实现内外网穿透的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。