• 【VS Code】使用 VS Code 登陆远程服务器上的 Docker 容器


    以下命令默认已经构建了一个 Docker Image。 

    1. # 在服务器上启动 docker (-p 端口映射,用于后续的 ssh 连接)
    2. docker run -itd -v /mnt/mount/:/home -p 8124:22 --name container-name --gpus all image-name
    3. # 进入容器中
    4. docker exec -it container-name /bin/bash
    5. # 设置密码,后续登陆使用,比如 admin
    6. passwd
    7. # 查看 ssh 状态(出现 ssh: unrecognized service 表示 ssh 未安装)
    8. service ssh status
    9. # 安装 ssh
    10. apt-get update
    11. apt-get install openssh-server
    12. # 启动 ssh (出现 * Starting OpenBSD Secure Shell server sshd 表示启动成功)
    13. service ssh start
    14. # 打开 ssh 配置文件进行修改,并重启
    15. vi /etc/ssh/sshd_config
    16. ```
    17. # 修改 PermitRootLogin 和 UsePAM
    18. #PermitRootLogin prohibit-password
    19. PermitRootLogin yes
    20. # UsePAM yes
    21. UsePAM no
    22. ```
    23. service ssh restart
    24. # 在服务器上进行连接测试,输入上面设置的密码 admin,登陆成功则没问题
    25. ssh root@127.0.0.1 -p 8124
    26. # vscode 登陆此容器只需要把上面的 127.0.0.1 换成服务器 ip 即可

    上述的步骤主要是在服务器上启动了一个docker容器,并在容器内安装和配置了ssh服务。以下是对于这些步骤的详细解释:

    首先,使用 docker run 命令在服务器上启动了一个名为 container-name 的容器。这里使用了 -v /mnt/mount/:/home 参数将服务器上的 /mnt/mount/ 目录映射到容器的 /home 目录。另外,-p 8124:22 参数表示将容器的22端口(ssh默认端口)映射到服务器的8124端口,这样后续可以通过ssh协议连接到容器。--name container-name --gpus all 参数为容器指定了一个名字和GPU的使用权限。最后的 image-name 是要运行的docker镜像名称。

    接着,使用 docker exec -it container-name /bin/bash 命令进入了容器的交互式shell。在此命令中,-it 参数表示保持交互,并分配一个伪终端。/bin/bash 是要执行的shell命令,即启动bash shell。

    在容器内,使用 passwd 命令设置了密码,这个密码将用于后续的ssh登陆。

    为了确认ssh是否已经在容器内安装,使用 service ssh status 命令检查ssh服务的状态。如果未安装ssh服务,将会出现 unrecognized service 的提示。

    如果ssh未安装,则使用 apt-get update 和 apt-get install openssh-server 命令来安装ssh服务。

    安装完成后,使用 service ssh start 命令启动ssh服务。如果一切正常,将会看到 Starting OpenBSD Secure Shell server sshd 的提示,表示ssh服务已经成功启动。

    为了修改ssh的配置,首先使用 vi /etc/ssh/sshd_config 命令打开配置文件。在配置文件中,修改了 PermitRootLogin 和 UsePAM 的设置。PermitRootLogin yes 表示允许root用户登录,而 UsePAM no 则表示不使用Pluggable Authentication Modules。修改后,使用 service ssh restart 命令重启ssh服务以应用新的配置。

    最后,为了测试ssh连接是否正常,使用 ssh root@127.0.0.1 -p 8124 命令尝试连接到容器。在输入密码后,如果能正常登陆,就表示ssh连接没有问题。对于VSCode的远程连接也是同样的方式,只需要将上述命令中的 127.0.0.1 换成服务器的实际IP地址即可连接到VSCode。

    以上就是在服务器上启动docker容器,并在容器内安装和配置ssh服务的全过程。

    • Docker 其他启动方式
    1. # 与主机共享网络
    2. docker run -itd --network host --rm -v /mnt/:/mnt/ --gpus all --name torch -w /root nvcr.io/nvidia/pytorch:22.12-py3
    3. # 多端口映射
    4. docker run -itd --rm -v /mnt/:/mnt/ -p 8125:22 -p 9000-9010:9000-9010 --gpus all --name torch2 -w /root nvcr.io/nvidia/pytorch:22.12-py3

  • 相关阅读:
    听GPT 讲Rust源代码--library/std(8)
    2.类和对象(上)
    数据分享|SAS数据挖掘EM贷款违约预测分析:逐步Logistic逻辑回归、决策树、随机森林...
    npm设置淘宝镜像库为默认库
    信息系统项目管理师必背核心考点(六十)项目集管理
    企业级的商用远程控制软件有哪些
    服务器正文22:linux内核网络模块笔记:收包、发包、各种内核参数上限、网络内核优化和容器网络虚拟化(8/2)
    Vue2-一篇文章带你读懂Vue的代码(保姆篇详解)
    http和https区别,第三方证书如何保证服务器可信
    量子点表面修饰纳米/蛋白/荧光/多肽/官能团的相关制备
  • 原文地址:https://blog.csdn.net/u014147522/article/details/134172048