【Vscode 远程连接 Docker 容器】

这篇具有很好参考价值的文章主要介绍了【Vscode 远程连接 Docker 容器】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 配置docker镜像

  • 在主机目录下创建一个 Dockerfile,注意文件名必须保持一致!!!(默认装了docker)

  • ubuntu:22.04 镜像

docker pull ubuntu:22.04
  • Dockerfile
FROM ubuntu:22.04

# Update package list and install sudo
RUN apt-get update && \
    apt-get install -y sudo && \
    rm -rf /var/lib/apt/lists/*

# Create a new user
RUN useradd -m cauchy && \
    echo 'cauchy:****' | chpasswd && \                          # 这里有user的密码,待会用于vscode的登入
    adduser cauchy sudo

# Set the working directory to /home/cauchy
WORKDIR /home/cauchy

# Set the user to cauchy
USER cauchy

# Start a shell session
CMD ["/bin/bash"]

  • 运行容器,映射端口:(主机7000:容器22)
docker built -t ubuntu:22.04 .
docker run -itd -p 7000:22 --name dockername ubuntu:22.04
  • 进入容器
docker attach dockername 

2. 安装 OpenSSH

  • 在 Docker 容器中安装 SSH 服务:
sudo apt-get install -y openssh-server
  • 启动 SSH 服务:
service ssh start
  • 修改 SSH 配置文件 /etc/ssh/sshd_config,将 PermitRootLoginPasswordAuthentication 分别设置为 yes
PermitRootLogin yes
PasswordAuthentication yes
  • 放开 22 端口
Port 22
  • 重启 SSH 服务:
service ssh restart

3. Vscode中安装 Remote-SSH 插件:

【Vscode 远程连接 Docker 容器】


4. 配置连接信息

  • 在 VSCode 中按下 F1 键,输入 “Remote-SSH: Connect to Host…”,选择 “Add New SSH Host…”

  • 在弹出的对话框中填写以下信息:(括号内替换)

    • Host Name: hostname@IP -p Port
    • User Name: username
    • Password: password
  • 生成如下信息:(C:/用户/.ssh/config)

    • Name: 当前连接的名称(随意)。
    • IP:连接主机的IP地址,你的服务器IP。
    • UserName:容器内的用户名。
    • Port:主机映射的端口(上述即:7000)。
Host (Name)
  HostName (IP)
  User (UserName)
  Port (Port)

5. 免密登录

ssh-keygen 生成密钥后,将 id_rsa.pub 文件拷贝进docker容器内的 ~/.ssh/authorized_keys 文件中即可。


【可能会遇到的问题】

  • 【之前连接成功过,后来就怎么都连不上去了】

先重启一下服务器的ssh服务:

sudo service ssh stop
sudo service ssh start

遇到的问题可能是因为:

这个错误提示意味着您之前连接到的主机的密钥已经发生了变化,可能是由于主机的操作系统或网络配置发生了更改。这可能是一种恶意攻击,也可能是您连接到的主机更换了新的密钥。

这里我遇到的问题是,主机更换了新的密钥,所以再次从vscode连接过去,公钥认证就不匹配了,所以不能在重新连入docker容器内。

删除 C/用户/.ssh/目录下的 known_hosts 文件中,旧的公钥 [主机IP]:port

【Vscode 远程连接 Docker 容器】

将这段直接删除即可,然后重新进行本文的连接操作。又可以愉快的玩docker了~~

【~~容器最好是一直在运行着,但凡重启或停止过,就需要重来一遍才可能连上】文章来源地址https://www.toymoban.com/news/detail-498435.html


到了这里,关于【Vscode 远程连接 Docker 容器】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【2023最新版】Win11: WSL(Ubuntu22.04)使用docker远程容器教程(Windows的Docker Desktop下载安装、迁移到非系统盘、配置国内镜像源、设置 WSL2)

    目录 一、准备工作 1. 安装WSL(适用于 Linux 的 Windows 子系统) 2. docker简介——来源chatGPT 二、Windows安装 Docker Desktop 1. 官网链接 2. 安装过程 3. 迁移到非系统盘 4. 配置国内镜像源 国内镜像 方法1——通过Docker-Desktop配置 方法2——找打daemon.json文件进行配置 三、在适用于 Wind

    2024年02月12日
    浏览(80)
  • java集成Docker-java实现远程镜像、容器创建,服务发布

           目前项目中需要实现水利机理模型的容器化部署,使用docker实现模型容器化部署操作,互相隔离,就是一个不错的方案。 实现docker远程连接、远程安全连接 构建镜像、加载镜像、删除镜像、拉取镜像、创建容器、启动容器、停止容器、删除容器。 执行模型运行命令

    2024年02月04日
    浏览(57)
  • Docker配置阿里云容器镜像加速

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 首先要有阿里云的账号(支付宝、淘宝账号也可以一键登录) 登录后可在控制台搜索

    2024年02月03日
    浏览(40)
  • vscode远程访问内网服务器中docker容器小白教程

    前言: 我的本意是想用vscode调试学术版gpt的翻译功能,给它加一个自适应的系统提示词。 然而为了这个调试,我付出了太多,怎么这么多弯路要走~ 首先,Windows直接用docker+wsl2调试实在是太痛苦,之前wsl2已经崩溃两次,所以我不得不把程序放在Ubuntu的台式机上。 然而我自己

    2024年04月28日
    浏览(40)
  • Linux 本地 Docker Registry本地镜像仓库远程连接

    Docker Registry 本地镜像仓库,简单几步结合cpolar内网穿透工具实现远程pull or push (拉取和推送)镜像,不受本地局域网限制! 使用官网安装方式,docker命令一键启动,该命令启动一个registry的容器,版本是2,挂载宿主机端口是5000端口,挂载后,5000端口就是我们连接镜像仓库的本地端口 执行

    2024年01月21日
    浏览(50)
  • Docker Registry本地镜像仓库部署并实现远程连接拉取镜像

    Docker Registry 本地镜像仓库,简单几步结合cpolar内网穿透工具实现远程pull or push (拉取和推送)镜像,不受本地局域网限制! 使用官网安装方式,docker命令一键启动,该命令启动一个registry的容器,版本是2,挂载宿主机端口是5000端口,挂载后,5000端口就是我们连接镜像仓库的本地端口 执行

    2024年02月05日
    浏览(53)
  • docker、containerd 配置国内容器镜像源

    国内容器镜像源地址:registry.aliyuncs.com/google_containers 文件路径:/etc/containerd/config.toml 在文件中加入一下配置 如下所示 在红框内容的下面添加 文件路径:/etc/docker/daemon.json 添加如下配置 “registry-mirrors”: [“registry.aliyuncs.com/google_containers”] 如下图所示 systemctl daemon-reload 以下

    2024年02月13日
    浏览(38)
  • 1.安装 docker 容器并配置镜像加速器

    1.2.1 实验环境准备 实验环境: rockylinux8.8    可以去官网下载 下载 Rocky | Rocky Linux 主机名: xuegod63 主机 ip: 192.168.1.63(这个 ip 大家可以根据自己所在环境去配置,配置成静态 IP) 2g 内存、2vCPU、50G 硬盘 1、配置静态 ip 和主机名 1)把 ip 配置成静态的 配置文件 /etc/sysconfig/

    2024年02月07日
    浏览(48)
  • Linux 本地 Docker Registry本地镜像仓库远程连接【内网穿透】

    Docker Registry 本地镜像仓库,简单几步结合cpolar内网穿透工具实现远程pull or push (拉取和推送)镜像,不受本地局域网限制! 使用官网安装方式,docker命令一键启动,该命令启动一个registry的容器,版本是2,挂载宿主机端口是5000端口,挂载后,5000端口就是我们连接镜像仓库的本地端口 执行

    2024年02月08日
    浏览(46)
  • 使用Docker容器配置ssh服务,远程直接进入容器

    最终版 hub仓库 https://hub.docker.com/ 目录 hub仓库 docker命令 镜像 查看所有镜像 运行镜像 容器 查看所有容器 可以在当前终端挂载 停止容器 删除容器s 使用容器 Docker使用镜像配置ssh服务后用ssh登陆 1. 先上dockerhub上pull一个需要的镜像下来,然后run这个镜像生成一个容器。 2. 进入

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包