windows访问远程服务器上容器的几种直接方式

远程服务器 host上有一个docker container,如何通过 client 直接登陆 container 呢?

  1. container 使用 host 的网络,即使用了 --network=host
  2. 先配置 container的 ssdh(/etc/ssh/sshd_config),相关参数设置
    • port=2223 ##这个端口号不要跟本服务器其它Docker容器端口号重复!
    • PermitRootLogin yes
    • PubkeyAuthentication yes
    • PasswordAuthentication yes
  3. 通过 SSH + jupyterlab进行访问的方式:
    1)先CMD将 host 端的 port:9999 映射到本地8888(需要提前启动container)
    ssh -L 8888:localhost:9999 -N username@host_ip -p 4464
    2)通过本地 port:8888 访问 jupyterlab界面:网页端打开
    localhost:9999
    • jupyterlab 的访问端口为 9999
    • ssh 访问 host 的端口为 4464
  4. 完全通过 SSH进行访问的方式:
    1)先CMD登陆到 host 并映射 host端口到本地(第一个2248为映射的本地端口):
    ssh -L 2248:localhost:2243 -N username@host_ip -p 4464
    2)在另一个 CMD 窗口直接登录 docker
    ssh root@localhost -p 2248
  5. 通过 v s c o d e vscode vscode进行访问:
    1)设置 vscode 的ssh配置文件(C:\Users\username\.ssh\config),添加如下代码:
Host host1
  HostName host_ip
  Port 4464
  User username
  ForwardAgent yes

Host container1
  HostName host_ip
  Port 2243
  User root
  ForwardAgent yes
  ProxyJump host1

2)如图所示,在vscode里面会出现 container1,登陆即可(保证container中已经启动ssh :/etc/init.d/ssh restart)
在这里插入图片描述

相关推荐

  1. 本地远程访问Linux服务器jupyter notebook

    2024-03-22 19:52:01       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-22 19:52:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-22 19:52:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-22 19:52:01       87 阅读
  4. Python语言-面向对象

    2024-03-22 19:52:01       96 阅读

热门阅读

  1. c++算法学习笔记 (14) 并查集

    2024-03-22 19:52:01       39 阅读
  2. SpringBoot自定义starter开发:定时任务报表开发

    2024-03-22 19:52:01       37 阅读
  3. Rust无法流行起来

    2024-03-22 19:52:01       45 阅读
  4. sqlite简单的增删改查

    2024-03-22 19:52:01       45 阅读
  5. 什么是设计模式?

    2024-03-22 19:52:01       43 阅读
  6. Springboot vue elementui 超市管理系统

    2024-03-22 19:52:01       37 阅读
  7. 位运算算法

    2024-03-22 19:52:01       41 阅读
  8. Python的反射机制

    2024-03-22 19:52:01       41 阅读