docker 运行花生壳实现内外网穿透
環(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)
本服務(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 $aecho "進(jìn)入安裝包所在文件夾" cd app/echo "花生殼服務(wù)檢測"if command -v phddns >/dev/null 2>&1;then echo "服務(wù)已安裝"phddns statuselse echo "服務(wù)未安裝,執(zhí)行安裝"rpm -ivh phddns_5.2.0_amd64.rpmecho "服務(wù)完成、設(shè)置開機(jī)啟動(dòng)"phddns enablefi? ? ? ? 該命令是先檢測容器內(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 hskct20234、在運(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è)原因:
很明顯, 第四步的執(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.sh6、每次都要輸入命令,為圖方便,我將需要執(zhí)行的命令整合了一下。在“hsk-nwct”內(nèi)創(chuàng)建“test.sh”文件,內(nèi)編輯
#!/bin/sh a="開始啟動(dòng) docker hsk 花生殼內(nèi)外網(wǎng)穿透 服務(wù)" 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 "容器啟動(dòng)成功,開始執(zhí)行安裝"docker exec -it hskct2023 /bin/bash /app/a.shexit exit運(yùn)行成功的示例:
?7、其他命令,記錄一下方便回顧:
刪除花生殼的命令:yum remove phddns -y
總結(jié)
以上是生活随笔為你收集整理的docker 运行花生壳实现内外网穿透的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win32学习(七) 鼠标消息
- 下一篇: ISO20000认证一般要多少钱