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

1、基于commit命令创建

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

格式:

  1. #docker commit CONTAINER [REPOSITORY[:TAG]]

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

运行ubuntu14.04:

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

安装和配置ssh服务:

  1. #apt-get update
  2. #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服务的脚本并添加可执行权限:

  1. #vi /run.sh
  2. 内容:
  3. #!/bin/bash
  4. /usr/sbin/sshd -D
  5.  
  6. 保存退出
  7. #chmod /run.sh

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

  1. #docker commit f5614a29f767 sshd:ubuntu
  2. sha256:f0fc45b72c9abb90e929a7557692f5fb9c3953426f4b13e14d16a9c3b5158a04

查看我们本地的images信息:

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

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

ubuntu-docker入门到放弃(八)创建支持SSH服务的镜像的更多相关文章

  1. 使用Dockerfile创建支持SSH服务的镜像

    1.前面我们学习了使用Dockerfile,那接下来我们就用Dockerfile创建一个支持SSH服务的镜像. 2.首先创建一个目录ssh_centos [root@rocketmq-nameserv ...

  2. docker如何创建支持SSH服务的镜像

    一般情况下,Linux系统管理员通过SSH服务来管理操作系统,但Docker的很多镜像是不带SSH服务的,那么我们怎样才能管理操作系统呢?在第一部分中我们介绍了一些进入容器的办法,比如用attach. ...

  3. Docker(2):使用Dockerfile创建支持SSH服务的镜像

    1.创建工作目录 # mkdir sshd_ubuntu # ls 在其中,创建Dockerfile和run.sh文件 # cd sshd_ubuntu/ # touch Dockerfile run ...

  4. docker基于commit命令创建支持ssh服务的镜像

    以centos为基础,目的使用ssh服务远程连接docker容器. 环境:宿主机centos7(宿主机ip地址为192.168.164.130),直接搜索docker的centos镜像,下载最新版本. ...

  5. 创建支持SSH服务的镜像

    一.基于commit命令创建 docker commit CONTAINER [REPOSITORY [:TAG]] 1.使用ubuntu镜像创建一个容器 docker run -it ubuntu ...

  6. docker基于Dockerfile命令创建支持ssh服务的镜像

    首先,创建一个sshd_centos工作目录: [root@localhost ~]# mkdir sshd_centos [root@localhost ~]# cd sshd_centos [ro ...

  7. Docker创建支持ssh服务的容器和镜像

    原文链接:Docker创建支持ssh服务的容器和镜像 1. 这里使用的centos作为容器,所以首先下载centos的images # sudo docker pull centos 2. 下载后执行 ...

  8. Docker使用Dockerfile创建支持ssh服务自启动的容器镜像

    原文链接:Docker使用Dockerfile创建支持ssh服务自启动的容器镜像 1. 首先创建一个Dockerfile文件.文件内容例如以下 # 选择一个已有的os镜像作为基础 FROM cento ...

  9. 创建支持ssh服务的docker容器和镜像

    http://www.kongxx.info/blog/?p=57 1. 这里使用的centos作为容器,所以首先下载centos的imagessudo docker pull centos 2. 下 ...

随机推荐

  1. gulp下单页面应用打包

    项目地址:https://pan.baidu.com/s/1cu4WW2 之前已经说过多入口打包,最近正好做一个单页面应用,之前多人口是用webpack打包的,但是感觉webpack比较重,单页面我又 ...

  2. php 截取 小程序上传到服务器图片,

    截取字符串传入数据库 $f_slide = htmlspecialchars_decode($_REQUEST['f_slide']); // echo "<pre>" ...

  3. 『TensotFlow』转置卷积

    网上解释 作者:张萌链接:https://www.zhihu.com/question/43609045/answer/120266511来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  4. Android测试(一)——Apk文件结构以及Android组件介绍

    APK文件结构: assests目录:一般存放的是不会被编译处理的文件,一般是资源性质的文件或者配置文件: libs目录:程序依赖的native库,包含针对特定处理器软件层的编译代码: res目录:存 ...

  5. MongoDB一键安装(参数全部定制)

    cat  init_MongoDB.sh #!/bin/bash export lang=C export my_port=27019 export my_dbpath=/opt/var/data/m ...

  6. Mongo 查询(可视化工具)

    distinct MongoDB 的 distinct 命令是获取特定字段中不同值列表的最简单工具. 该命令适用于普通字段.数组字段以及数组内嵌文档(集合对象). db.getCollection(' ...

  7. restful : 面向资源架构

    restful 规范 1. API与用户的通信协议,https协议 2. 域名 https://api.example.com 尽量将API部署在专用域名 https://example.org/ap ...

  8. PB测款方法 店铺运费模板 设置

    https://www.wishhack.com/article/44.html 子账号有权限设置运费

  9. java中的线程问题(一)什么是线程。

    线程--什么是进程 进程--概念 要解释线程,就必须明白什么是进程. 什么是进程呢? 进程是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间),比如用户点击桌面的IE浏览器,就启动了一个进 ...

  10. 如何使用HackRF做一个简单的IMSI捕获器

    关于IMSI IMSI为国际用户识别码(International Mobile Subscriber Identity)的缩写,是用于区分蜂窝网络中不同用户的,在所在蜂窝网络中不重复的识别码.IMS ...