docker发布sunnyNgrok实现内外网穿透的方法(容器内执行命令)

 更新时间:2023年03月07日 10:40:34   作者:开心呢是很重要的  
这篇文章主要介绍了docker上发布 sunnyNgrok 实现内外网穿透,容器内执行命令,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

最近在使用内外网穿透的工具时发现国内版的Ngrok还挺好用的,但是在dockerHub上搜镜像时发现不知道使用哪一个,索性便自己创建一个docker容器。

环境:centos 7

一、创建自定义镜像的方法

1、创建自己想要创建docker镜像的文件夹,我创建的名为“sunny-Ngrok”

2、在文件内创建Dockerfile 文件,并定义内容 

FROM  dokken/centos-7:latest
ADD  app/ app/

sunnyNgrok 的工具名是“sunny”,一开始是创建镜像时就直接加载到容器中,但是考虑到后期其他使用平台,比如树莓派等等其他平台使用的sunny版本不一定一致,所以打算将文件挂载出来;

3、在“sunny-Ngrok”内创建挂载容器的"app"文件夹。将官网下载的“sunny”执行文件上传到“app”文件夹内。

        sunnyNgrok网址:Sunny-Ngrok内网转发内网穿透 - 国内内网映射服务器      

4、编辑打算在容器内执行的bash文件,并命名为“a.sh”,将该文件也放到“app”文件内。

#!/bin/sh
a="开始启动 docker sunny ngrok  服务"
echo $a
 
cd app/
 
chmod 777 sunny
 
./sunny clientid 195741391517

执行的含义是:

  • 进入文件“app”;
  • 授权所有人可以读写及执行 “sunny”文件
  • 执行“sunny”文件将请求发送到指定“隧道”

5、创建“test.sh”外部执行命令在“sunny-Ngrok”内

#!/bin/sh
a="开始启动 docker sunny ngrok  服务"
echo $a
 
docker stop ngrok2023
docker rm ngrok2023
docker rmi sunnyngrok:a1
docker build -t sunnyngrok:a1 .
 
docker run --privileged=true --restart=always -e TZ="Asia/Shanghai" \
-d --net=host --name ngrok2023 \
sunnyngrok:a1 /bin/bash /app/a.sh

执行的含义是:

  • 停止容器执行
  • 删除容器
  • 删除已有的镜像
  • 创建名为 “sunnyngrok”版本为a1的docker镜像
  • 创建执行的容器,

6、文件内展示

7、执行“test.sh”的命令运行容器,

二、使用现有镜像的方法 

1、docker 先下载centos的镜像,下载查看镜像

 2、使用centos镜像创建运行容器,本步骤的部分前置工作是参考“第一方案”内。创建“test02.sh”文件,编辑内容:

#!/bin/sh
a="开始启动 docker sunny ngrok  服务"
echo $a
 
docker stop ngrok20230304
docker rm ngrok20230304
 
docker run --privileged=true --restart=always -e TZ="Asia/Shanghai" \
-d --net=host --name ngrok20230304 \
-v /root/docker/sunny-Ngrok/app:/app \
dokken/centos-7:latest /bin/bash /app/a.sh

到此这篇关于docker上发布 sunnyNgrok 实现内外网穿透,容器内执行命令的文章就介绍到这了,更多相关docker内外网穿透内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • skywalking agent 关联docker镜像的多种方法

    skywalking agent 关联docker镜像的多种方法

    Apache SkyWalking 提供了多种方式来部署和使用 SkyWalking Agent,包括在 Docker 容器中运行的应用,本文给大家分享几种方式将 SkyWalking Agent 集成到你的 Docker 应用中,感兴趣的朋友一起看看吧
    2025-04-04
  • docker的overlay2中存的都是什么及如何清理/var/lib/docker/overlay2

    docker的overlay2中存的都是什么及如何清理/var/lib/docker/overlay2

    docke roverlay2是Docker中的存储驱动之一,用于管理镜像和容器层的数据,这篇文章主要给大家介绍了关于docker的overlay2中存的都是什么及如何清理/var/lib/docker/overlay2的相关资料,需要的朋友可以参考下
    2024-04-04
  • 使用elasticsearch定时删除索引数据

    使用elasticsearch定时删除索引数据

    这篇文章主要介绍了使用elasticsearch定时删除索引数据的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • docker安装部署jumpserver 2.25.5的方法

    docker安装部署jumpserver 2.25.5的方法

    这篇文章主要介绍了docker安装部署jumpserver 2.25.5的方法,本文通过图文实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • docker部署mysql8并设置可远程连接

    docker部署mysql8并设置可远程连接

    本文主要介绍了docker部署mysql8并设置可远程连接,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Docker启动容器后自动关闭问题解决

    Docker启动容器后自动关闭问题解决

    在使用Docker创建并启动mysql容器时,发现mysql容器并没有启动而是自动关闭了,本文主要介绍了Docker启动容器后自动关闭问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • 使用Docker部署Nginx+Flask+Mongo的应用

    使用Docker部署Nginx+Flask+Mongo的应用

    这篇文章主要介绍了使用Docker部署Nginx+Flask+Mongo的应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 解决docker run 或者 docker restart 启动镜像就自动退出

    解决docker run 或者 docker restart 启动镜像就自动退出

    这篇文章主要介绍了解决docker run 或者 docker restart 启动镜像就自动退出的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 使用Docker将容器目录挂载到主机上的实现方法

    使用Docker将容器目录挂载到主机上的实现方法

    本文主要介绍了使用Docker将容器目录挂载到主机上的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Docker搭建私有仓库(registry与Harbor)的实现

    Docker搭建私有仓库(registry与Harbor)的实现

    这篇文章主要介绍了Docker搭建私有仓库(registry与Harbor)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论