第六章 VSCode连接远程服务器-构建容器并连接容器(车道线感知)

一 前言

近期参与到了手写AI的车道线检测的学习中去,以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新,力求完整精炼,引人启示。所需前期知识,可以结合手写AI进行系统的学习。

二 下载VSCode

  1. 官网下载vscode(注意软件是蓝色), 安装过程的话按照提示来就行,注意勾选添加到path。可以参考https://blog.csdn.net/qq_39124701/article/details/129400983

三 检查电脑是否支持SSH

检查是否安装openssh: windows+R,输入ssh -V,查看是否有对应版本。如下就说明以正确安装SSH服务。

如果没有安装:没有安装的话可以在“设置”->“应用和功能”->“可选功能”->"添加功能"添加相应功能
利用ssh -V检验

四 在VSCode安装插件

插件Remote-SSH,Dev Containers。有容器的可以下载docker插件进行管理连接
点击搜索插件进行安装在这里插入图片描述

五 连接远程服务器

在这里插入图片描述
在这里插入图片描述
保存退出

在这里插入图片描述

提示选择平台的类型

选择之后会在终端中提示输入密码,按照提示输入密码完成之后没有报错就说明连接成功了

打开文件:
File-->open file/folder--->输入需要操作的文件或者文件夹路径即可。

六 创建容器

sudo docker run -it --gpus all \
    -v "$PWD":/workspace/src \
    -p 48888:22 --name DragGAN \
    --privileged=true draggan:latest /bin/bash
  • -it: 这是两个标志,即-i-t。结合使用时,它们允许您与容器进行交互。

    • -i 标志代表“交互式”。
    • -t 标志在新容器内分配一个伪终端或终端。
  • -d: 代表“后台模式”,意味着在后台运行Docker容器。

  • -p 10022:22: 这将主机的10022端口映射到Docker容器的22端口。端口22通常用于SSH。

  • -v /Users/liheqian/Desktop/MyMac/F/Docker/workspace:/datav/shared/: 该标志将主机上的/Users/liheqian/Desktop/MyMac/F/Docker/workspace目录挂载到Docker容器的/datav/shared/位置。

  • --name Student_all: 为创建的容器分配名为"Student_all"的名称。(原文中提及名为'workspace',但给出的命令中是'Student_all')

  • liheqian1993/deepblue: 用于创建Docker容器的镜像。

  • /bin/bash: 容器启动后将运行的命令。在这种情况下,它将启动一个Bash shell。

  • --privileged=true: 类似于第一个命令,这为容器提供了完全访问主机的权限。

通过docker ps 查看是否有启动,如果没有则证明仅仅是创建了container 但是没有启动,用docker ps -a看看有没有这个container,有的话用 docker start container_name or id

在容器中设置新的用户名和密码:

#设置新的用户名,这个用户将被添加到/home/myuser中
sudo adduser myuser
#设置该用户名的密码
sudo passwd myuser

七 连接容器

在这里插入图片描述
在这里插入图片描述

红色部分就是在运行的容器
在这里插入图片描述
在这里插入图片描述
输入密码即可登录

通过其他设备ssh连接这个容器:

ssh myuser@xxxxxxx.com -p XXXXX #xxxxx为之前新建容器时设置好的端口号
出现提示窗口,输入密码即可连接

八 免密码登录设置

生成公钥,私钥对,在windows终端输入:ssh-keygen -t rsa.一路回车,重点关注.ssh目录下的id_rsa和id_rsa.pub 。他们分别是私钥和公钥。公钥放在linux上,私钥放在本机上

在linux服务器输入ssh-keygen,同样一路回车,结果如图
在这里插入图片描述

然后cd到.ssh/目录下,创建一个叫做authorized_keys的文件, 找到之前生成公私钥文件路径,用记事本打开id_rsa.pub的文件,将里面的内容复制到linux服务器上的authorized_keys文件。(注意可能有爱折腾的同学之前自己在本地生成了其他的有关的公私钥文件,造成冲突,这里可以把那些删除,或者改一下后缀,再生成一遍就可以了)

九 常用命令

docker stop container_id # 停止容器
docker rm container_id # 删除容器
docker start container_name or id # 启动容器
docker exec -it d103a19a44b1 /bin/bash # 进入容器
docker cp 路径 路径
sudo docker ps # 列出所有正在运行的容器
sudo docker ps -a # 列出所有容器(包括停止的)
docker exec <container_id_or_name> ls -l 文件路径 # 列出详细文件
docker exec <container_id_or_name> du -sh 文件路径 # 查看磁盘的使用
sudo rm -r temp_folder_on_host_s # 删除文件夹
python -c "import torch; print(torch.version.cuda)" # 查看cuda版本

posted @ 2023-10-05 17:54  小酒馆燃着灯  阅读(165)  评论(0)    收藏  举报