教你如何通过 SSH 连接到 Docker 容器

yizhihongxing

下面我将为你详细介绍如何通过 SSH 连接到 Docker 容器的完整攻略。

1. 在容器内安装 SSH 服务

首先,在容器内安装 SSH 服务。这里以 Ubuntu 为例,打开容器的终端,运行以下命令:

apt-get update && apt-get install -y ssh

安装完成后,运行以下命令来启动 SSH 服务:

service ssh start

2. 将容器端口映射到宿主机端口

SSH 服务运行在容器内部,需要将容器端口映射到宿主机端口,才能从外部访问它。运行以下命令将容器的端口映射到宿主机的端口:

docker run -d -p 2222:22 your_image

这里将容器的 22 端口映射到了宿主机的 2222 端口,你可以根据需要修改。

3. 在宿主机上配置 SSH 客户端

现在可以在宿主机上通过 SSH 连接到容器了。首先需要安装 SSH 客户端。如果你使用的是 Linux 系统,则可以运行以下命令来安装:

sudo apt-get install ssh

如果你使用的是 Windows 系统,则可以安装 MSYS2 或 Git Bash 等工具,它们都包含了 SSH 客户端。

4. SSH 连接容器

接下来,可以通过 SSH 客户端连接到容器。运行以下命令:

ssh -p 2222 root@your_server_ip

其中,your_server_ip 是宿主机的 IP 地址,2222 是容器映射到宿主机的端口,root 是容器中的用户名,默认密码为空,需要你在容器内设置密码。

示例1:通过 SSH 连接到运行中的 NodeJS 容器,并使用 NPM 安装依赖包

以下是一个示例,假设你有一个运行中的 NodeJS 容器,需要安装一些依赖包:

# 1. 进入容器
docker exec -it your_container_id /bin/bash

# 2. 安装 NPM 依赖包
npm install your_package

可以在容器内执行其他的命令,包括运行应用程序等。

示例2:使用 SSH 连接到容器中的 MySQL 数据库

以下是另一个示例,假设你有一个运行中的 MySQL 容器,需要通过 SSH 连接到它并执行 SQL 查询:

# 1. 连接到 MySQL 容器
docker exec -it your_mysql_container_id /bin/bash

# 2. 登录 MySQL 数据库
mysql -u root -p

# 3. 执行 SQL 查询
mysql> SELECT * FROM your_table;

可以使用 SSH 客户端连接到 Docker 容器,然后在容器中运行任何命令。这些命令将在容器实例中运行,而不是在宿主机上运行,并可以访问容器中的文件和服务。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你如何通过 SSH 连接到 Docker 容器 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • Linux Docker安装Jenkins

    安装环境 操作系统 centos7.3 安装Docker,安装及配置见 《Docker之Docker介绍及安装配置》 安装Jenkins 下载Jenkins 命令:sudo docker pull jenkins 启动Jenkins前准备 创建jenkins文件夹 创建jenkins文件夹,用于和容器内文件夹做磁盘挂载 命令:mkdir /home/hzq/…

    Docker 2023年4月16日
    00
  • Docker下安装kibana

    下载kibana6.4.0的docker镜像:docker pull kibana:6.4.0 使用docker命令启动:docker run –name kibana -p 5601:5601 \–link elasticsearch:es \-e “elasticsearch.hosts=http://es:9200” \-d kibana:6.4.…

    Docker 2023年4月11日
    00
  • docker常用命令总结

    1.1 docker 命令帮助 docker 命令是最常使用的docker 客户端命令,其后面可以加不同的参数以实现不同的功能 docker 命令格式 docker [OPTIONS] COMMAND COMMAND分为 Management Commands #指定管理的资源对象类型,较新的命令用法,将命令按资源类型进行分类,方便使用 Commands #…

    2023年4月9日
    00
  • Docker 容器里镜像的迁移,或者将修改后的新的容器重新做成一个镜像

    ————继上次docker制作nginx容器…   【Docker  容器里镜像的迁移,或者将修改后的新的容器重新做成一个镜像,】 1.进入容器里nginx镜像里。   2.写测试内容到nginx的默认首页文件   3.exit退出去。 docker  ps   查看容器 docker  imaes  查看镜像   4. 将修改后的容器做成一个有tar标…

    Docker 2023年4月13日
    00
  • docker安装带postgis插件的postgresql 数据库

    最初直接拉取的postgresql 数据,在导入 .bakup 文件时始终会报错,最后才想到该数据库默认不带postgis空间组件 一、拉取镜像 这里我们拉取postgres 和 gis 组合的镜像 目前组合的版本有如下几个 11.0-2.5 10.0-2.4 9.6-2.4 这里以 拉取postgresql v9.6 和 postgis v2.4 的镜像为…

    Docker 2023年4月13日
    00
  • 一文快速入门Docker推荐

    一文快速入门Docker推荐攻略 什么是Docker? Docker是一个开源工具,它可以帮助程序员使用容器将应用程序打包成一个标准化的单元,从而实现快速构建、测试和部署应用程序的目的。Docker允许程序员将应用程序、依赖项和配置文件等打包到一个容器中,使应用程序可以在任何支持Docker的平台上都能够正常运行。Docker还允许程序员通过使用容器快速、轻…

    Docker 2023年5月16日
    00
  • 删除docker的运行目录出错

      1.1.        rm: cannot remove ‘/var/lib/docker/aufs’: Device or resource busy 2.      过程 2.1.        用docker rmi 命令删除了全部镜像,准备一切重头再来,发现有些残留目录。   2.2.        然后只能删掉所有运行目录然后获得初始化。 2…

    Docker 2023年4月12日
    00
  • Docker 快速部署Springboot项目超详细最新版

    以下是 “Docker 快速部署Springboot项目超详细最新版”的完整攻略: Docker 快速部署 Springboot 项目超详细最新版 介绍 Docker 是一个开源的容器化平台,能够帮助我们快速构建和部署应用程序。在本文中,我们将介绍如何使用 Docker 部署 Springboot 项目。 环境准备 我们需要安装 Docker 后才能进行操作…

    Docker 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部