Docker(2):使用Dockerfile创建支持SSH服务的镜像
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服务的镜像相关推荐
- Docker-创建支持ssh服务的镜像
这里测试tomcat镜像安装ssh服务 1.启动镜像 [root@wls12c docker]$ docker run -d tomcat:centos 844bdde121a03174f3abd22 ...
- 创建支持ssh的docker镜像
docker容器运行,一般不能ssh,这容器的管理带来麻烦,下面将介绍如何创建支持ssh的docker镜像 首先从dock hub 下载 ubuntu的镜像 命令: docker pull ubun ...
- 创建ssh 服务的镜像
$ sudo docker run -ti ubuntu:14.04 /bin/bash #首先,使用我们最熟悉的 「-ti」参数来创建一个容器. root@fc1936ea8ceb:/# sshd ...
- [转]Docker基础-使用Dockerfile创建镜像
本文转自:https://www.cnblogs.com/jie-fang/p/7927643.html 1.基本结构 Dockerfile由一行行命令语句组成,并支持以#开头的注释行.例如: # T ...
- Docker基础-使用Dockerfile创建镜像
目录 1.基本结构 1.1 在debian:jessie基础镜像上安装nginx环境,从而创建一个新的nginx镜像: 1.2 基于buildpack-deps:jessie-scm基础镜像,安装go ...
- Docker之使用Dockerfile创建定制化镜像(四)--技术流ken
前言 在之前的博客<Docker端口映射及创建镜像演示(二)--技术流ken>,演示了如何使用一个现有容器创建一个镜像,以及镜像在阿里云的上传和下载. 但是这样的镜像有很大的局限性,不能根 ...
- 基于容器制作基于ubuntu启动ssh服务的镜像
1. 拉取ubuntu镜像:这里拉取的是ubuntu:18.04版本. [root@node1 ~]# docker pull ubuntu:18.04 2. 运行并进入容器: [root@nod ...
- 创建支持nginx服务的docker镜像
环境: [root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@linux-n ...
- docker创建带有ssh的centos镜像
一.拉取镜像 docker pull centos 二.生成容器 docker run -itd --name=centos_ssh --privileged=true centos /usr/sbi ...
最新文章
- 机器学习部分国内牛人
- 我们能用 lua 做什么
- 10个最值得Python新人练手的有趣项目
- 360全景倒车影像怎么看_360全景倒车影像真的很有用?水分有多少!
- bpmn文件转换为png格式图片
- 读书笔记 - 机器学习实战 - 4 利用概率理论进行分类:朴素贝叶斯
- Mac下用android studio创建安卓模拟器
- C - Serval and Parenthesis Sequence
- Matlab开发Web App服务器
- 梧桐树王牌产品金玉满堂增额终身寿险下架在即,资产焦虑就买它
- 电脑快捷键【Crtl】
- vue加载组件骨架屏el-skeleton使用
- DNGuard V1.0 for Win98, WinMe 的运行库发布
- 记录安装Ubuntu Server 17.04, 安装hwinfo 失败的解决办法
- 昆仑通态与欧姆龙温控器 台达变频器 联合通讯
- grpc、https、oauth2等认证专栏实战7:使用cfssl来制作证书介绍
- 论文阅读9:在自适应辅导系统中保持和测量ZPD
- 【ArcGIS】绘制地形剖面图
- C语言预处理指令#error
- -- 28、查询男生、女生人数
热门文章
- 用tf的VocabularyProcessor创建词汇表vocab
- Breaking the Ledger Security Model
- 按字段顺序加载或解析JSON对象
- volte信令流程详解_VOLTE高清语音通话,呼叫时延低于3秒是如何做到的?
- JZOJ 1219. Num
- python分组函数_Python中如何按列分组和按自己的函数汇总
- 数学之美 系列十五 繁与简 自然语言处理的几位精英
- matlab 常用命令
- CVPR 2018 TRACA:《Context-aware Deep Feature Compression for High-speed Visual Tracking》论文笔记
- AtCoder AGC031E Snuke the Phantom Thief (费用流)