Docker创建可以SSH连接的容器

#Docker创建可以SSH连接的容器

1.安装Docker(略)

2.获取基础镜像

docker pull centos  #这样获取的是官方Hub的Centos 7,特别精简

docker images可查看镜像列表.

3.运行一个容器

docker run -t -i centos

4.添加SSH到当前容器

yum install wget
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  #换个快一点的源,这是我的习惯
yum cleal all
yum install passwd
yum install openssh-server        #安装ssh服务端
echo 'passw0rd' | passwd root --stdin  #设置root密码
vi /etc/ssh/sshd_config #设置端口,注释不需要的设置,如:HostKey
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
vi ~/.ssh/authorized_keys  #[可选]添加个人公钥,设置证书访问
/usr/sbin/sshd   #如果不报错,说明可以启动了.可ss -ln 检查
exit 
#记住这个容器的ID,ID就是PS1的主机名字段,如PS1为'[root@f86b75ebc424 ~]#'的容器,ID就是'f86b75ebc424'

此时,这个容器就已经关闭了.

5.提交更改为新镜像

docker commit f86b75ebc424 c7ssh #使用上一步的容器ID,提交为名为c7ssh镜像

提交成功后,使用docker images可以查看到

6.运行新的镜像

docker run -d -p 220:22 c7ssh /usr/sbin/sshd -D

-d 后台运行容器
-p 容器端口映射到主机[可选]
使用docker ps查看运行的容器
此时你可以直接连接容器,也可以通过端口映射连接容器

ssh IP #docker inspect 容器ID 可查看容器信息可以得到容器的IP
或
ssh 127.0.0.1:220

7.完结

至此,一个可以使用SSH连接的容器就做好了.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,595评论 15 147
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 4,406评论 0 27
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,529评论 0 120
  • 0x01 核心概念 Docker镜像类似于虚拟机镜像,可以理解为一个面向Docker引擎的只读模板,包含了文件系统...
    闲云逸心阅读 4,757评论 0 9
  • 一个小男孩 大概四五岁的样子 在广场上画一个圆圈 在这个圆圈下面 再画一个圆圈 第一个圆圈里画上头发,眼睛和耳朵 ...
    吻章阅读 134评论 0 0