ubuntu-docker入门到放弃(八)创建支持SSH服务的镜像

我们知道进入docker容器可以使用attach、exec等命令来操作和管理,但是如果需要远程登录并管理容器,就需要ssh服务的支持了。

1、基于commit命令创建

docker提供了commit命令,支持用户提交自己对容器的修改,并生成新的镜像。

格式:

#docker commit CONTAINER [REPOSITORY[:TAG]]

 我们今天使用的ubuntu14.04系统来测试:

运行ubuntu14.04:

#docker run -dit ubuntu:14.04 /bin/bash

安装和配置ssh服务:

#apt-get update
#apt-get install openssh-server
#service ssh start
#netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3064/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      3064/ssh

可以看到,ssh服务已经起来了,端口为22.

创建一个启动ssh服务的脚本并添加可执行权限:

#vi /run.sh
内容:
#!/bin/bash
/usr/sbin/sshd -D

保存退出
#chmod 755 /run.sh

退出容器,然后将刚刚的容器用docker commit 命令来保存为一个新的sshd:ubuntu镜像:

#docker commit f5614a29f767 sshd:ubuntu
sha256:f0fc45b72c9abb90e929a7557692f5fb9c3953426f4b13e14d16a9c3b5158a04

查看我们本地的images信息:

#docker images
REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
sshd                               ubuntu              f0fc45b72c9a        5 seconds ago       243MB
ubuntu                             16.04               a51debf7e1eb        2 days ago          116MB
debian                             latest              4879790bd60d        6 days ago          101MB
test                               1                   ea2185f851a4        8 days ago          244MB
buile_repo/frist_image             latest              a209b4fcb225        8 days ago          244MB
10.30.234.212:5000/ubuntu14_ruby   latest              fd2e33845352        3 weeks ago         157MB

可以看到我们刚刚commit的带有sshd的image。

原文地址:https://www.cnblogs.com/slim-liu/p/9999105.html