如何使用xshel,putty或者xftp管理docker容器

时间:2024-10-02 07:24:58

Docker等容器技术越来越普遍,越来越多的公司开始尝试接受容器技术带来的便利。对于我们来说,每一个运行着的container就是一个服务,我们如何像管理多条服务器一样,管理多个Docker容器?

探究原因

我们之所以可以通过xshell或者putty等工具来管理我们的linux服务器。主要原因是因为我们linux服务器上都安装了SSH服务。每一个docker容器运行的镜像本质上来说是一个精简版的linux,所以说,我们同样可以通过给我们的container安装SSH服务来达到使用工具集中管理多个Docker容器的目的。

如何给运行中Docker容器安装SSH服务?

这里我以我本地一个运行中的SQL Server的数据库服务为例

1、打开命令面板,输入指令docker ps查看运行中的容器并复制容器ID

2、输入指令docker exec -it <复制的容器ID> /bin/sh,进入命令行工具

3、进入命令行工具后首先建议输入指令apt-get update更新下源

4、输入指令apt-get install openssh-server,安装SSH服务

5、安装完毕后,输入指令service ssh satrt 启动SSH服务

6、使用vim进入/etc/ssh/文件更改SSH服务配置,将PermitRootLogin的值从withoutPassword改为yes,允许root用户进行登录

7、输入指令passwd root设置root用户登录密码

8、如果docker容器中没有安装vim,则输入指令apt-get install vim进行安装

9、输入指令service ssh restart重启SSH服务

10、输入exit退出当前容器命令行工具

11、回到系统命令面板,输入指令docker ps查看当前运行中的容器并复制安装好SSH服务的容器ID

12、为了避免后期因为各种原因重复安装SSH服务,建议输入指令docker commit <复制的容器ID> <自己定义的镜像名>,保存经想到本地

13、停止当前镜像,输入指令docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=567rty%^&YUI' -p 1433:1433 -p 8400:20 -d microsoft/mssql-server-linux:latest,启动刚才保存在本地的镜像并把SSH服务的20端口映射出来,这里我映射的是主机8400duankou

14、为了方便,这里还可以输入指令docker update --restart=always <容器ID>让容器保持始终运行

备注

上面保存镜像到本地让容器始终运行可以根据自己喜好选择是否进行操作,如果指令报权限相关错误,只需要在每条命令前添加sudo指令就可以了