1、创建工作目录

# mkdir sshd_ubuntu

# ls

在其中,创建Dockerfile和run.sh文件

# cd sshd_ubuntu/

# touch Dockerfile run.sh

# ls

2、 编写run.sh脚本和authorized_keys文件

# vi run.sh

写入内容:

#! /bin/bash/usr/sbin/sshd –D

在宿主主机上生成SSH密钥对,并创建authorized_keys

# ssh-keygen –t rsa

# cat ~/sshd_ubuntu/id_rsa.pub >authorized_keys

# ls

3、编写Dockerfile

#设置继承镜像
FROM ubuntu
#提供一些作者的信息
MAINTAINER from www.dockerpool.com by Aiden
#下面开始运行命令,此处更改Ubuntu的源为国内163的源
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse" > /etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list
RUN apt-get update
#安装ssh服务
RUN apt-get install -y openssh-server
RUN mkdir -p /var/run/sshd
RUN mkdir -p /root/.ssh
#取消pam限制
RUN sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd
#复制配置文件到相应位置,并赋予脚本可执行权限
ADD authorized_keys /root/.ssh/authorized_keys
ADD run.sh /run.sh
RUN chmod 755 /run.sh
#开放端口
EXPOSE 22
#设置自启动命令
CMD ["/run.sh"]

4、创建镜像

注意一下,在最后还有一个“.”,表示使用当前目录中的Dockerfile

# docker build –t ssh:dockerfile .

命令执行完毕后,如果可见“Successfully built XXX”字样,则说明镜像创建成功。可以看到,以上命令生成的镜像ID是18d5664af464

在本地查看镜像sshd:dockerfile镜像已存在:

#docker images

5、测试镜像,运行容器

使用刚才创建的sshd:dockerfile镜像来运行一个容器。直接启动镜像,映射容器的22端口到本地的10122端口。

# docker run –d –p 10122:22 sshd:dockerfile

# docker ps

在宿主主机新打开一个终端,连接到新建的容器

# ssh 192.168.56.33 –p 10122

镜像创建成功

转载于:https://www.cnblogs.com/guoxiangyue/p/10021885.html

Docker(2):使用Dockerfile创建支持SSH服务的镜像相关推荐

  1. Docker-创建支持ssh服务的镜像

    这里测试tomcat镜像安装ssh服务 1.启动镜像 [root@wls12c docker]$ docker run -d tomcat:centos 844bdde121a03174f3abd22 ...

  2. 创建支持ssh的docker镜像

    docker容器运行,一般不能ssh,这容器的管理带来麻烦,下面将介绍如何创建支持ssh的docker镜像 首先从dock hub  下载 ubuntu的镜像 命令: docker pull ubun ...

  3. 创建ssh 服务的镜像

    $ sudo docker run -ti ubuntu:14.04 /bin/bash #首先,使用我们最熟悉的 「-ti」参数来创建一个容器. root@fc1936ea8ceb:/# sshd ...

  4. [转]Docker基础-使用Dockerfile创建镜像

    本文转自:https://www.cnblogs.com/jie-fang/p/7927643.html 1.基本结构 Dockerfile由一行行命令语句组成,并支持以#开头的注释行.例如: # T ...

  5. Docker基础-使用Dockerfile创建镜像

    目录 1.基本结构 1.1 在debian:jessie基础镜像上安装nginx环境,从而创建一个新的nginx镜像: 1.2 基于buildpack-deps:jessie-scm基础镜像,安装go ...

  6. Docker之使用Dockerfile创建定制化镜像(四)--技术流ken

    前言 在之前的博客<Docker端口映射及创建镜像演示(二)--技术流ken>,演示了如何使用一个现有容器创建一个镜像,以及镜像在阿里云的上传和下载. 但是这样的镜像有很大的局限性,不能根 ...

  7. 基于容器制作基于ubuntu启动ssh服务的镜像

    1.  拉取ubuntu镜像:这里拉取的是ubuntu:18.04版本. [root@node1 ~]# docker pull ubuntu:18.04 2.  运行并进入容器: [root@nod ...

  8. 创建支持nginx服务的docker镜像

    环境: [root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@linux-n ...

  9. docker创建带有ssh的centos镜像

    一.拉取镜像 docker pull centos 二.生成容器 docker run -itd --name=centos_ssh --privileged=true centos /usr/sbi ...

最新文章

  1. 机器学习部分国内牛人
  2. 我们能用 lua 做什么
  3. 10个最值得Python新人练手的有趣项目
  4. 360全景倒车影像怎么看_360全景倒车影像真的很有用?水分有多少!
  5. bpmn文件转换为png格式图片
  6. 读书笔记 - 机器学习实战 - 4 利用概率理论进行分类:朴素贝叶斯
  7. Mac下用android studio创建安卓模拟器
  8. C - Serval and Parenthesis Sequence
  9. Matlab开发Web App服务器
  10. 梧桐树王牌产品金玉满堂增额终身寿险下架在即,资产焦虑就买它
  11. 电脑快捷键【Crtl】
  12. vue加载组件骨架屏el-skeleton使用
  13. DNGuard V1.0 for Win98, WinMe 的运行库发布
  14. 记录安装Ubuntu Server 17.04, 安装hwinfo 失败的解决办法
  15. 昆仑通态与欧姆龙温控器 台达变频器 联合通讯
  16. grpc、https、oauth2等认证专栏实战7:使用cfssl来制作证书介绍
  17. 论文阅读9:在自适应辅导系统中保持和测量ZPD
  18. 【ArcGIS】绘制地形剖面图
  19. C语言预处理指令#error
  20. -- 28、查询男生、女生人数

热门文章

  1. 用tf的VocabularyProcessor创建词汇表vocab
  2. Breaking the Ledger Security Model
  3. 按字段顺序加载或解析JSON对象
  4. volte信令流程详解_VOLTE高清语音通话,呼叫时延低于3秒是如何做到的?
  5. JZOJ 1219. Num
  6. python分组函数_Python中如何按列分组和按自己的函数汇总
  7. 数学之美 系列十五 繁与简 自然语言处理的几位精英
  8. matlab 常用命令
  9. CVPR 2018 TRACA:《Context-aware Deep Feature Compression for High-speed Visual Tracking》论文笔记
  10. AtCoder AGC031E Snuke the Phantom Thief (费用流)