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 hskct20234、在運行的容器內安裝花生殼,命令如下:
docker exec -it hskct2023 /bin/bash /app/a.sh執行完后,可以看到如下
可以考慮在容器內繼續執行 ”phddns status“ 查看是否啟動成功。記住 ”sn“碼,將它綁定到“設備列表”即可,管理端地址是:花生殼管理? ?。
?如圖配置好了。
5、試錯展示,最開始時是將第3、第4 步的兩個命令合在一起的,后來發現,容器運行一會兒就自動退出了,查看日志也是提示安裝成功了,并沒有其他什么報錯。后來了解到容器運行就退出的幾個原因:
很明顯, 第四步的執行“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.sh6、每次都要輸入命令,為圖方便,我將需要執行的命令整合了一下。在“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 运行花生壳实现内外网穿透的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win32学习(七) 鼠标消息
- 下一篇: ISO20000认证一般要多少钱