0.预安装
1.本地windows或其他环境中安装了Vscode,Vscode中安装了Remote-SSH拓展(用于利用SSH连接docker容器)
2.远程服务器中安装了docker,并且拉取了自己需要的镜像
3.有root权限,能使用sudo命令
1. 在服务器端启动Docker容器
docker run -it -p 10001:10001 --name cam e02adfsadfa /bin/bash
-it: 分别表示以交互式模式。
-p 10001:10001: 这将主机的端口 10001 映射到容器的端口 10001,以便可以通过主机的端口访问容器内的服务,用于后续VScode访问。
–name cam : 这为容器指定了一个名称,即 “cam 。
e02adfsadfa 为镜像id 也就是image id。
/bin/bash: 这是在容器中要运行的命令,即启动一个 Bash shell。
2. 启动的docker容器
docker ps -a #查看容器
docker exec -ti cam /bin/bash #启动刚刚的cam容器
3. 在容器中安装SSH服务
apt-get update
apt-get install openssh-server
apt-get install openssh-client
apt-get install ssh
apt-get install vim
修改ssh文件,将容器端口暴露出来
vim /etc/ssh/sshd_config
# 在刚刚打开的文件里添加以下内容,保存后退出:
Port 10008
PermitRootLogin yes #允许root用户使用ssh登录
重启ssh服务
/etc/init.d/ssh restart
设置连接密码
passwd
4. 在容器中设置开机自启动SSH服务
在 Docker 容器内运行 SSH 服务时,当容器停止后 SSH 服务会随之关闭,而当容器重新启动后 SSH 服务默认情况下不会自动重启。这是因为 Docker 容器本身是一个隔离的环境,容器内的服务与主机环境是相互独立的。本操作可以用以解决restart容器后使ssh自动启动,从而不影响远程连接。
# 找到并打开文件/root/.bashrc
$ vim /root/.bashrc
# 在.bashrc末尾添加如下代码
$ service ssh start
5. 在VScode中进行配置,连接docker
文章参考来自Vscode连接远程服务器中的docker容器进行开发(两种方法)_vscode连接远程服务器的docker容器-CSDN博客