Docker:使用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

时间: 2024-10-10 07:13:38

Docker:使用Dockerfile创建支持SSH服务的镜像的相关文章

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

1. 首先创建一个Dockerfile文件,文件内容如下 # 选择一个已有的os镜像作为基础 FROM centos:centos6 # 镜像的作者 MAINTAINER Fanbin Kong "[email protected]" # 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no RUN yum install -y openssh-server sudo RUN sed -i 's/UsePAM yes/UsePAM no/g' /

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

首先,创建一个sshd_centos工作目录: [[email protected] ~]# mkdir sshd_centos [[email protected] ~]# cd sshd_centos [[email protected] sshd_centos]# touch Dockerfile run.sh [[email protected] sshd_centos]# ssh-keygen -t rsa [[email protected] sshd_centos]# cat ~/

用dockerfile创建支持ssh服务的centos镜像

参考 1 我在/docker/目录下建立了个脚本是用来启动容器上面的ssh服务的 vi run.sh #!/bin/bash /usr/sbin/sshd -D 2 同样在docker目录下创建dockefile文件如下: [[email protected] sbin]# cat /docker/dockerfile  FROM centos RUN yum install passwd openssl openssh-server -y ##下面三行是解决sshd服务启动时报错的 RUN s

创建支持SSH服务的镜像

一.基于commit命令创建 docker commit CONTAINER [REPOSITORY [:TAG]] 1.使用ubuntu镜像创建一个容器 docker run -it ubuntu /bin/bash 2.配置软件源 [email protected]:/# cp /etc/apt/sources.list /etc/apt/sources.list.bak [email protected]:/# apt-get update [email protected]:/# apt

通过Dockerfile创建支持SSH服务的docker镜像(centos、Ubuntu)

centos: mkdir centos-ssh vim centos-ssh/Dockerfile FROM centos MAINTAINER blog.rootr.cn [email protected] RUN yum install -y openssh-server RUN mkdir /var/run/sshd RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N '' && \ ssh-keygen

使用dockerfile创建支持ssh远程的镜像

1.创建相关目录 [[email protected]~]# mkdir /docker/sshd –p 2.编写dockerfile [[email protected]]# vim Dockerfile # This is a dockerfile # Version 1 # By Kevin # Base image From centos # Maintainer MAINTAINER Kevin kevinhao.blog.51cto.com # Commands # Install

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

http://www.kongxx.info/blog/?p=57 1. 这里使用的centos作为容器,所以首先下载centos的imagessudo docker pull centos 2. 下载后运行一个centos的容器,这里使用centos6作为我测试的容器sudo docker run --name=centos-ssh -i -t centos:centos6 /bin/bash 3. 安装openssh-server服务软件包yum install openssh-server

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

Dockerfile 支持系统启动 运行ssh 服务 原文链接:http://blog.csdn.net/kongxx/article/details/38395305 # 选择一个已有的os镜像作为基础 FROM centos:centos6 # 镜像的作者 MAINTAINER Fanbin Kong "[email protected]" # 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no RUN yum install -y ope

docker创建支持ssh服务的centos镜像

以centos为基础,目的使用ssh服务远程连接docker容器 环境:宿主机centos7,直接搜索docker的centos镜像,下载最新版本 1.先按照docker:yum install -y epel-release yum install -y docker 2.启动docker: systemctl start docker.service 3.使用ps查看docker是否启动 ps aux |grep docker 4.下载centos的docker镜像 docker pull