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内外网穿透内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解基于docker搭建lanproxy内网穿透服务

    文档更新说明 2018年04月06日 v1.0 内网穿透相信是后端开发者经常遇到的需求,可是怎么实现呢?其实有现成的服务:花生壳.ngrok等,但是,最近花生壳宣布,免费版的内网穿透将不支持80端口映射了,而免费版的ngrok也不够稳定,于是乎,我就开始需找新的解决方案了 本文使用了docker.nginx,要全部搞懂的话需要一定的后端基础(当然,基本上入个门就可以了),个人认为还是有一定阅读门槛的,但是你如果只是想把服务搭建起来,按照步骤来做是不难的 1.概述 内网穿透其实就是用服务器做一个中

  • docker 运行花生壳实现内外网穿透的详细过程

    环境:centos 7 ,64位 1.创建一个指定的文件夹作为安装示例所用,该示例文件夹为“hsk-nwct”.“hsk-nwct”内创建“app”文件夹作为docker容器挂载出来的文件. 2.在“app”内下载花生壳linux安装包,下载花生壳应用:花生壳客户端官方下载 - 贝锐花生壳官网 花生壳动态域名解析软件 V3.2.0.12190 官方免费安装版 : https://www.jb51.net/softs/116324.html 本服务下载的版本是“phddns_5.2.0_amd64

  • Docker内网穿透frp部署实现过程解析

    1.创建配置文件目录 cd /home目录 mkdir frp 最后的目录结构: 2.创建服务端配置文件 vi frps.ini [common] bind_port = 17000 token = myToken vhost_http_port = 10080 vhost_https_port = 10443 dashboard_port = 17500 dashboard_user = admin dashboard_pwd = admin tcp_mux = true max_pool_c

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

    目录 一.创建自定义镜像的方法 二.使用现有镜像的方法 最近在使用内外网穿透的工具时发现国内版的Ngrok还挺好用的,但是在dockerHub上搜镜像时发现不知道使用哪一个,索性便自己创建一个docker容器. 环境:centos 7 一.创建自定义镜像的方法 1.创建自己想要创建docker镜像的文件夹,我创建的名为“sunny-Ngrok” 2.在文件内创建Dockerfile 文件,并定义内容 FROM dokken/centos-7:latest ADD app/ app/ sunnyN

  • 使用docker安装部署NextCloud私人网盘的方法步骤

    目录 1.查询并下载NextCloud镜像 2.创建并启动NextCloud容器 3.访问NextCloudWEB界面 4.参考链接 1.查询并下载NextCloud镜像 执行命令 docker search nextcloud docker pull nextcloud 演示操作 # 查询nextcloud镜像 [root@docker ~]# docker search nextcloud NAME DESCRIPTION STARS OFFICIAL AUTOMATED nextcloud

  • docker 突然不能被外网访问的解决方案

    根据大佬们的方法,找到了原因 sysctl net.ipv4.ip_forward. 腾讯云提示修复漏洞,执行完他们的脚本, ip转发就被关掉了. 后来研究了一下,可以通过 docker info 找到问题所在. 并且可以查看到docker给出一警告 解决方法: sudo vim /etc/sysctl.conf 修改 ,保存 , 然后 systemctl restart network 或者 sysctl -w net.ipv4.ip_forward=1 但是这样处理可能服务器重启以后就失效了

  • Nodejs实现内网穿透服务

    也许你很难从网上找到一篇从代码层面讲解内网穿透的文章,我曾搜过,未果,遂成此文. 1. 局域网内代理 我们先来回顾上篇,如何实现一个局域网内的服务代理?因为这个非常简单,所以,直接上代码. const net = require('net') const proxy = net.createServer(socket => { const localServe = new net.Socket() localServe.connect(5502, '192.168.31.130') // 局域网

  • docker基础知识之挂载本地目录的方法

    Docker可以支持把一个宿主机上的目录挂载到镜像里. 复制代码 代码如下: docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash 通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径. 现在镜像内就可以共享宿主机里的文件了. 默认挂载的路径权限为读写.如果指定为只读可以用:ro 复制代码 代码如下: docker run -it -v /home/dock/Downloads:/u

  • 使用Python+Flask开发博客项目并实现内网穿透

    目录 前言 1.个人的注册与登录模块 2.首页文章展示模块 3.文章详情展示模块 4.文章发布模块 5.文章添加分类模块 6.文章分类管理模块 7.文章管理模块 8.用户个人信息注销模块 9.信息管理模块 10.程序启动模块 11.内网穿透模块 12.总结 前言 Flask是一个使用python编写的轻量级Web框架,对比其他相同类型的框架而言,这个框架更加的灵活轻便.并且具有很强的定制性,用户可以根据自己的需求添加功能,有强大的插件库,这也是为什么这个框架在python领域一直火热的原因.这篇

  • 详解使用内网穿透工具Ngrok代理本地服务

    目录 1.官网地址 2.下载 3.添加白名单 4.使用 5.访问 我们在微信开发过程中,需要不断调试,微信服务器无法访问我们本地的接口,那么我们就需要一个内网穿透的工具,将我们本地的服务暴露出去使外部能够访问,内网穿透成功后,我们自己开发的电脑就相当于一台云服务器.常用的内网穿透工具有:ngrok.花生壳.Natapp.小米球等等,我平常使用的就是 ngrok 了. 1.官网地址 https://ngrok.com/ 在官网可以下载 ngrok 的安装包,和我使用的版本不一样,推荐使用我的资源文

  • 超好用的免费内网穿透工具【永久免费不限制流量】

    目录 1. 安装cpolar内网穿透工具 1.1 Windows系统 1.2 Linux系统 1.2.1 安装 国内使用 1.2.2 向系统添加服务 1.2.3 启动服务 1.2.4 查看服务状态 2. 创建隧道映射内网端口 对于开发人员来讲,演示内网web站点.本地开发微信公众号.小程序开发.调试第三方支付系统对接等开发环境,往往需要一个环境可以进行调试. 而解决办法很简单,用内网穿透工具就可以,不需要自己搭建服务,也不需要公网IP.市面上内网穿透工具有很多,这里推荐一款简单又好用的————c

随机推荐