【docker】在windows下使用ssh连接docker并且在dockers里边在跑一个docker

本文详细指导如何在Windows环境下通过SSH连接Docker容器,包括拉取CentOS镜像,安装SSH服务,使用docker-compose安装和管理Docker,以及在特权模式下启动SSH和Docker服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在windows下使用ssh连接docker并且在dockers里边在跑一个docker

开始准备(不想自己构建的直接看下一步)

  • 拉取官方镜像 这里用到的是centos7.9

docker pull centos:7.9

  • 进入到镜像安装常用工具

docker run -it centos:7.9 bash

# 更新yum
yum -y update
# 安装vim
yum install vim

# 安装ssh
yum install openssh-server
# 修改配置
vim /etc/ssh/sshd_config
# 取消以下注释
# PermitRootLogin yes
# Port=22 


# docker 安装
#安装工具包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

yum install docker-ce docker-ce-cli containerd.io

# 安装docker-compose
yum -y install epel-release
yum install python-pip
wget https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose -version

# 修改root密码
yum install passwd
# 设置root初始密码
passwd root # 输入你的密码
  • 打包成新的镜像方便以后使用
    注意在docker容器内部是无法启动ssh服务和docker服务的(需要一些特殊手段)
    exit 退出后

docker ps -a
docker commit 容器id centos7.9

启动容器并使用ssh连接

  • 这里也可以选择拉取我已经构建好的镜像(初始密码是root123456

docker pull bonianahao/centos7.9:1.3.0

  • 查看镜像文件

docker images

  • 使用特权模式启动docker 很重要

docker run -it --privileged=true -p 13555:22 centos7.9 /usr/sbin/init

注意: 如果不使用特权模式启动,用户就是一个伪root。也就不能启动ssh服务和docker
(–privileged=true 和 /usr/sbin/init 一个 都不能少)

  • 启动之后在进入容器

docker exec -it 容器id bash

# 查看一下有没有启动ssh服务
ps -e | grep ssh

# 启动docker
 systemctl docker start

# 查看是否启动成功
docker ps

# 显示如下说明启动成功
# CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

使用cmd连接docker

ssh -p 13555:22 root@127.0.0.1

输入密码连接成功

### 配置 IntelliJ IDEA 的 Docker 插件连接远程 Linux 上的 Docker 服务 为了使 IntelliJ IDEA 能够通过其内置的 Docker 插件连接到远程 Linux 系统上的 Docker 服务,需要完成以下几个方面的设置: #### 启用 Docker 插件 确保已启用了 IntelliJ IDEA 中的 Docker 插件。这可以通过进入 `File -> Settings -> Plugins` 并搜索 “Docker” 来实现[^1]。 #### 配置 Docker 远程连接 在启用插件之后,需进一步配置 IDE 以支持与远程 Docker 守护进程通信: 1. 打开配置窗口:导航至 `File -> Settings -> Build, Execution, Deployment -> Docker`。 2. 添加新的 Docker 配置项:点击加号按钮 (`+`) 创建一个新的配置条目,并选择适合的操作系统环境(Linux)作为目标平台[^2]。 3. 设置 API URL 和认证方式: - 输入远程服务器上 Docker Daemon 的地址 (通常为 TCP 地址形式如 tcp://<remote-host>:2375 或者带有 TLS 加密验证的情况下可能是其他端口)。 - 如果使用的是非安全模式,则无需额外的身份验证;但如果启用了 TLS 认证,则还需要指定证书路径来建立信任关系。 #### 构建 Spring Boot 应用程序并部署为容器化应用 对于具体的开发场景比如构建基于 Spring Boot 的微服务项目并通过 Docker 化方式进行发布,可以按照如下方法操作: - 利用 Maven/Gradle 工具链配合官方推荐的最佳实践定义好 POM 文件中的 `<docker.image.prefix>` 属性值用于命名生成后的镜像名称前缀部分[^4]; - 接着借助于专门设计好的脚本或者依赖插件自动完成整个打包流程直至最终形成可执行版本文件为止[^3]。 最后,在成功关联外部主机资源的前提下,就可以直接利用图形界面一键式地发起测试请求亦或是正式上线推送命令啦! ```bash # Example of connecting via SSH tunnel with local port forwarding set up first. ssh [email protected] -L 2375:localhost:2375 ``` 上述代码片段展示了如何通过本地SSH隧道转发访问远端开放的服务接口实例之一——即把位于另一台机器内部监听状态下的特定端口号映射过来供当前会话期间临时调用之便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薄年阿豪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值