docker现在越来越流行,接下来为大家介绍一下如何使用ssh连接docker。

任务

使用ssh连接到centos7中docker容器

实验步骤

因为docker中容器的ip通常来说是和真机以及centos7的ip不属于一个网段,因此直接访问是不可通的。
如图,首先用真机ping容器

docker ssh连不上 docker容器ssh连接_centos

然后用容器ping真机以及外网,发现都可以Ping通

docker ssh连不上 docker容器ssh连接_centos_02

docker ssh连不上 docker容器ssh连接_docker_03

这里输入以下命令,查看已经有的镜像。


docker images


docker ssh连不上 docker容器ssh连接_linux_04

其中第一个是我将初始的镜像安装完常用软件后重新上载的。

新建一个容器,同时进行端口映射(在这里进行端口映射比较方便)

docker run -itd -p 2222:22 --name myubuntu ce64f492632b    #-p命令是进行端口映射 --name 是给容器命名 最后是指定容器使用的镜像id或者名字

docker ssh连不上 docker容器ssh连接_docker ssh连不上_05

打开运行的容器

docker exec -it 5fdaa366806d /bin/bash #exec是进入容器 后面是容器的id (注意后面的也要打上,我亲测不写会报错)

docker ssh连不上 docker容器ssh连接_centos_06

6.进入之后给root用户设置一个密码用于ssh连接,出现最后的语句就说明成功了。

passwd root (#设置root用户密码)

docker ssh连不上 docker容器ssh连接_docker ssh连不上_07

最后安装并配置一下ssh服务就好了。(安装过程省略)

vim /etc/ssh/sshd_config

docker ssh连不上 docker容器ssh连接_docker ssh连不上_08

docker ssh连不上 docker容器ssh连接_docker_09

重启ssh服务

docker ssh连不上 docker容器ssh连接_linux_10

这时候我们ssh centos7的ip后面加上我们映射的端口号就可以ssh连接了。


ssh 192.168.216.131:2222


至此我们任务完成,能够使用真机ssh到我们安装在centos7中的ubuntu容器。