Skip to main content

Docker System

·159 words·1 min
服务器 docker vpn

好处 #

  1. 如果成员做纯软件的东西,用起来与宿主机没什么区别
  2. 每个人都是自己系统的root,配环境会方便很多
  3. GPU可以直通,训练推理都能用(要安装NVIDIA Container Toolkit)
  4. x11可以转发gui,例如学弟的软件可以用这个
  5. docker in docker 也能实现,但是不太安全
  6. 连上container的成员难以对宿主机做出破坏性操作

坏处 #

  1. 可能会有一些软件不支持docker
  2. 可能需要更多系统资源

注意点 #

  1. 每个容器需要一个宿主机的tcp端口转发到容器22端口
+--------------+      +-------------------+         +-----------------+
|    用户      | ---> | 宿主机上的端口 8000 | --->    | Docker 容器     |
+--------------+      +-------------------+         | (Ubuntu 系统)  |
    ip:A2                   ip:A1                   |                 |
                                                    | 本地端口 22      |
                                                    +-----------------+
  1. 如果学校机房阻断端口,就要写申请开端口。
+--------------+       -----           +-------------------+         +-----------------+
|    用户      | --->  | 防 |          | 宿主机上的端口 8000 | --->    | Docker 容器     |
+--------------+       | 火 |          +-------------------+         | (Ubuntu 系统)  |
    ip:A2              | 墙 |               ip:A1                    |                 |
                       |    |                                        | 本地端口 22      |
                       |    |                                        +-----------------+
  1. 如果有开放少量端口,可以搭建vpn组网。注意openvpn支持tcp/udp,而wireguard只支持udp。
+--------------+         +-----+      被隧道封装的数据             +-------------------+       +-----------------+
|    用户      | ===>    | VPN | ==========================>      | 宿主机上的 VPN 端口 | --->  | Docker 容器     |
+--------------+         +-----+                                  +-------------------+       | (Ubuntu 系统)  |
    ip:B2                ^                                        |                   |       |                 |
                         |                                        | Docker 端口映射    |       | 本地端口 22      |
                         |                                        +-------------------+       +-----------------+
                         |                                               ip:B1
                         | 绕过
                         |
                        +------+
                        |防火墙|
                        +------+
    
  1. 搭vpn的时候务必注意流量控制,避免vpn劫持全部流量,导致断开和服务器的连接。
  2. 容器用户需要使用端口的时候,可以使用ssh tunnels或者vscode dev tunnels。

Related

CloudFlarePages
·31 words·1 min
服务器 部署
文件同步
·89 words·1 min
服务器 文件同步 Syncthing
Linear Algebra Notes
·10 words·1 min
SLAM Math linear algebra notes