cloud2000
V2EX  ›  服务器

如何远程登录 WSL2 里面的容器?

  •  
  •   cloud2000 · Oct 17, 2022 · 2660 views
    This topic created in 1383 days ago, the information mentioned may be changed or developed.

    我在 WSL2 里面用 Docker 安装好了深度学习环境, 想用 Macbook 远程登录进去, 再用 vs code 开发. 目前已经搞定了 SSH 登录 WSL2, 但是 WSL 里面的容器不知道如何登录进去?

    14 replies    2022-10-18 17:24:55 +08:00
    nyz1500
        1
    nyz1500  
       Oct 17, 2022 via iPhone
    在 MacBook 上装一个 docker ,然后在环境变量里添加 export DOCKER_HOST=ssh://user@[ip address]
    这样就能直接用 MacBook 上的 docker 命令控制远程服务器上的 container 了
    cloud2000
        2
    cloud2000  
    OP
       Oct 17, 2022
    @nyz1500 这么神奇...我试试....
    kindjeff
        3
    kindjeff  
       Oct 17, 2022
    楼主 WSL2 里面的深度学习环境还带容器,能正常用 CUDA 吗
    cloud2000
        4
    cloud2000  
    OP
       Oct 17, 2022
    @kindjeff 这个是好问题, 100%可以, 我已经训练几个数据集了.
    cloud2000
        5
    cloud2000  
    OP
       Oct 17, 2022
    @nyz1500 不过 WSL 里面没有对外的 ip 哦, 怎么填呢
    loveeatdog123
        6
    loveeatdog123  
       Oct 17, 2022
    @cloud2000 没有 zeroTier 解决不了的…如果有的话…………
    ThisDay
        7
    ThisDay  
       Oct 17, 2022
    @cloud2000 桥连或者 windows 端口转发出来啊
    quan01994
        8
    quan01994  
       Oct 17, 2022
    hyper 运行 docker 的镜像 ,docker 运行 container ? 你是要进 docker 还是要进,container ?
    cloud2000
        9
    cloud2000  
    OP
       Oct 17, 2022
    @quan01994 进 container..

    楼上几位说的端口转发我也想过, 就是想看看有没有更加简单的办法...
    AS4694lAS4808
        10
    AS4694lAS4808  
       Oct 17, 2022
    不是已经可以 ssh 了吗?那直接在 ssh 用 docker exec 命令?
    还是说要访问容器映射出来的端口?如果是这种情况,在宿主机用 netsh 的 portproxy 把 WSL2 ip 和端口映射到宿主机。
    brucmao
        11
    brucmao  
       Oct 17, 2022 via iPhone
    @cloud2000 wsl2 可以跟宿主机设置为同一网段的 ip ,由路由器分配
    nyz1500
        12
    nyz1500  
       Oct 17, 2022 via iPhone
    @cloud2000 ssh 用什么 ip 呢,这个方法就是使用 ssh 的连接,用你的 ssh ip 就好
    canbingzt
        13
    canbingzt  
       Oct 17, 2022
    DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"

    然后就可以用 windows 的 ip 来访问 docker 了
    cloud2000
        14
    cloud2000  
    OP
       Oct 18, 2022
    感谢各位, 问题最后解决如下, 希望能帮到其他人:

    我原来想复杂了, 只要从 Mac SSH 登录 WSL2 里面, 就全部成功了.
    因为可以把 vs code 的 ssh 目标设为 WSL2, 然后再在 vs code 里面 attach 到容器即可.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   936 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 19:42 · PVG 03:42 · LAX 12:42 · JFK 15:42
    ♥ Do have faith in what you're doing.