SSH公网远程直连Docker容器

这篇具有很好参考价值的文章主要介绍了SSH公网远程直连Docker容器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在某些特殊需求下,我们想ssh直接远程连接docker 容器,下面我们介绍结合cpolar工具实现ssh远程直接连接docker容器

1. 下载docker镜像

本文下载一个tomcat镜像为例子,输入命令拉取tomcat镜像:

docker pull tomcat

我们下载的是tomcat镜像,tomcat端口容器内部默认是8080,我们把tomcat容器内部端口映射到宿主机的8088端口上,运行镜像容器,

docker run -it -d -p8088:8080 tomcat /bin/bash

运行后查看一下正在运行的容器

docker ps -a

可以看到已经运行了,同时也看到了容器ID

SSH公网远程直连Docker容器,ssh,docker,运维,容器,经验分享

2. 安装ssh服务

进入容器

docker exec -it 容器ID /bin/bash

进入容器后,我们安装ssh服务,首先更新包管理器

apt-get update

安装ssh服务

apt-get install openssh-server

安装文件编辑器vim

apt-get install vim

设置SSH登录密码,第一次是设置密码,第二次是确认密码,输入两次

passwd

修改配置文件

vim /etc/ssh/sshd_config

需要修改两个地方:

第一:把ssh 服务默认的22端口设置为与容器服务的端口一致,如我们是tomcat容器,就设置为8080,因为我们运行容器的时候挂载的是内部的8080端口映射到宿主机的8088端口,所以需要和容器内部端口保持一致,

第二:将PermitRootLogin prohibit-password修改为PermitRootLogin yes,开启使用密码登录,设置完成后保存退出

SSH公网远程直连Docker容器,ssh,docker,运维,容器,经验分享

修改完成后,重启ssh服务

service ssh restart

3. 本地局域网测试

上面我们设置完成了在容器内部安装了ssh服务,现在进行局域网测试连接,用户名默认是root,端口号这里需要输入我们映射到宿主机的8088端口

ssh -p 8088 root@192.168.10.125

登录过程中需要输入密码,即上面设置的密码,成功后,可以看到我们成功进入了容器内部

SSH公网远程直连Docker容器,ssh,docker,运维,容器,经验分享

4. 安装cpolar

安装cpolar我们在宿主机安装,不需要进入容器内部安装

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

5. 配置公网访问地址

成功启动cpolar服务后,我们在浏览器上访问Linux局域网ip地址+9200端口,登录cpolar web UI管理界面。

cpolar官网地址: https://www.cpolar.com

登录成功后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:8088
  • 域名类型:临时随机TCP端口
  • 地区:选择China VIP

点击创建

SSH公网远程直连Docker容器,ssh,docker,运维,容器,经验分享

然后打开左侧在线隧道列表,查看刚刚创建隧道后生成的tcp连接的公网地址

SSH公网远程直连Docker容器,ssh,docker,运维,容器,经验分享

6. SSH公网远程连接测试

使用ssh 命令行连接模式,注意,-p后面的端口是cpolar中生成的公网地址对应的端口

ssh -p 端口 root@公网地址

执行后,我们可以看到成功进入容器,这样ssh 远程直接连接docker容器就设置好了

SSH公网远程直连Docker容器,ssh,docker,运维,容器,经验分享

7.固定连接公网地址

要注意的是,以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。

配置固定tcp端口地址需要将cpolar升级到专业版套餐或以上。

保留一个固定tcp地址

登录cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为我的世界保留一个固定tcp地址:

  • 地区:选择China vip
  • 描述:即备注,可自定义

点击保留

SSH公网远程直连Docker容器,ssh,docker,运维,容器,经验分享

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

SSH公网远程直连Docker容器,ssh,docker,运维,容器,经验分享

打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击右侧的编辑

SSH公网远程直连Docker容器,ssh,docker,运维,容器,经验分享

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写官网保留成功的地址,

点击更新

SSH公网远程直连Docker容器,ssh,docker,运维,容器,经验分享

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定tcp地址。

SSH公网远程直连Docker容器,ssh,docker,运维,容器,经验分享

8. SSH固定地址连接测试

输入ssh 连接命令,使用我们上面的公网地址和端口,我们可以看到,连接成功,固定ssh远程直接连接docker容器就设置好了

SSH公网远程直连Docker容器,ssh,docker,运维,容器,经验分享

转载自cpolar极点云文章:SSH远程直连Docker容器文章来源地址https://www.toymoban.com/news/detail-650344.html

到了这里,关于SSH公网远程直连Docker容器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker基本操作:安装部署、设置ssh远程登入、配置docker镜像文件并创建docker容器

    Docker 是一个流行的应用程序容器化和部署平台,允许开发人员轻松地创建、部署和管理容器中的应用程序。 请注意运行此命令需要 root 或 sudo 权限,因此可能需要在命令前加上 sudo 并输入密码。 一、更新系统工具(ubuntu) 安装docker 查看docker版本 启动docker服务 二、一些基本

    2024年02月04日
    浏览(62)
  • Docker容器安装ssh

    在服务器创建容器中安装了anaconda,为了方便敲代码,用pycharm连接容器中的anaconda,我们需要安装ssh服务 创建好docker容器,并且将容器的22端口号和服务器的某个自定端口号映射起来 docker attach [容器名] 先更新apt-get,下载vim,下载openssh-server 三条命令: 到这里准备工作就已经

    2024年02月05日
    浏览(55)
  • ssh连接docker容器

    1. 启动容器 2. 修改密码 3. 安装vim openssh-server 4. 查看端口是否开启 5. 修改配置文件 6. 通过ssh连接docker容器 7. 备注

    2024年02月12日
    浏览(33)
  • docker容器添加ssh服务

    本篇文章主要介绍如何为一个容器添加ssh服务,使得可以从另一台服务器直接ssh到一个容器内部,达到直接访问容器内部环境的目的,避免需从宿主机docker exec或attach进入容器 实验环境:两台服务器地址 192.168.91.131    192.168.91.133(容器所在宿主机) 实验结果:从192.168.91.1

    2024年02月11日
    浏览(45)
  • Docker启动Centos7容器,并在容器中安装Docker,且开启SSH

    前言 此处我的需求是,在docker中启动centos7容器,并在容器中安装docker,支持ssh远程连接。如果你不需要在容器中安装docker,则可以只看第一部分的前两段,分别为: 启动centos7 容器 和 进入刚刚创建的容器 ,然后直接跳过安装docker阶段,直接去看 开启 ssh 服务 即可。 启动c

    2024年02月15日
    浏览(46)
  • 【Python编程工具】【ssh连接Docker容器】如何使用Docker容器里的python环境,如何调试在容器中的代码

    本篇博客将介绍如何在Docker容器中打开SSH连接服务,以及如何使用JetBrains Gateway软件进行代码调试。 JetBrains Gateway是一款紧凑型桌面应用,可让您通过 JetBrains IDE 远程工作,甚至无需下载这些IDE。通过在桌面端安装这款软件,您可以直接调试服务器上的代码。 使用以下命令启

    2024年01月25日
    浏览(65)
  • 如何使用Docker构建Nacos容器并实现固定公网地址远程访问

    Nacos是阿里开放的一款中间件,也是一款服务注册中心,它主要提供三种功能:持久化节点注册,非持久化节点注册和配置管理。 本例通过结合Cpolar内网穿透实现远程访问Nacos 提供的UI (控制台)界面,帮助管理所有的服务和应用的配置 Cpolar内网穿透是一种安全的内网穿透云服务

    2024年01月17日
    浏览(48)
  • 随身WIFI折腾日记(三)---Docker+ssh远程访问+青龙面板

    安装完Docker以后,我们便可以一键部署一些服务上去了。 启动docker:sudo systemctl start docker 停止docker:sudo systemctl stop docker 重启docker:suto systemctl restart docker 开机启动docker:sudo systemctl enable docker 查看docker状态:sudo systemctl status docker 查看docker启动情况:docker version 查看docker是

    2024年02月13日
    浏览(45)
  • 两台服务器上的两个docker容器之间配置ssh免密登录

    因为要在两台服务器的容器上使用ucx实现GPU的RDMA,所以需要两个容器之间ssh免密登录 步骤如下(所有步骤均在容器内部进行) 切换成root用户 在容器内部安装openssh: # apt-get install openssh-client openssh-server 编辑ssh的配置文件,更改ssh的端口: # vim /etc/ssh/sshd_config 在最后一行加

    2024年03月13日
    浏览(54)
  • Ubuntu20.04 Docker搭建远程xfce桌面以及ssh教程

    简介 :本文主要介绍ubuntu20.04容器中搭建xfce远程桌面、C++、Go环境、容器内docker操作配置、zsh配置 docker pull ubuntu:20.04 docker run -itd --privileged --name=my-desktop --ulimit memlock=-1:-1 --network=\\\"network-local\\\" -p 22666:22 -p 5901:5901 -v /var/run/docker.sock:/var/run/docker.sock ubuntu:20.04 /bin/bash docker exec -it 

    2023年04月14日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包