01-使用Dockerfile创建ssh服务镜像

使用Dockerfile创建ssh服务镜像

创建sshd_ubuntu工作目录

mkdir sshd_ubuntu
cd mkdir sshd_ubuntu && touch Dockerfile run.sh

Dockerfile和run.sh内容

ubuntu18@ubuntu:~/sshd_ubuntu$ vim run.sh 
#!/bin/bash
/usr/sbin/sshd -D
ubuntu18@ubuntu:~/sshd_ubuntu$ cat Dockerfile 
#set base image
FROM ubuntu:18.04

#container user
MAINTAINER ubuntu18 (user@docker.com)

#set the ubuntu sources as 163
RUN echo "deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse" >/etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse ">>/etc/apt/sources.list
#RUN echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" >>/etc/apt/sources.list
RUN echo "deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse" >>/etc/apt/sources.list

#install ssh service
RUN apt-get update && apt-get install -y openssh-server
RUN mkdir -p /var/run/sshd
RUN mkdir -p /root/.ssh

#unset pam login limit
RUN sed -ri 's/session    required     pam_loginuid.so/#session    required     pam_loginuid.so/g' /etc/pam.d/sshd

#copy configuration 
ADD authorized_keys /root/.ssh/authorized_keys
ADD run.sh /run.sh
RUN chmod 755 /run.sh

#set the open port
EXPOSE 22

#set the auto start commands
CMD ["/run.sh"]

创建authorized_keys文件

ubuntu18@ubuntu:~/sshd_ubuntu$ ssh-keygen -t rsa -b 2048
ubuntu18@ubuntu:~/sshd_ubuntu$ cat ~/.ssh/id_rsa.pub >authorized_keys

创建镜像

ubuntu18@ubuntu:~/sshd_ubuntu$ cd ~/sshd_ubuntu && sudo docker build -t sshd:dockerfile .
...
...
Removing intermediate container ad609fe1dedd
 ---> 83d163540876
Successfully built 83d163540876
Successfully tagged sshd:dockerfile

ubuntu18@ubuntu:~/sshd_ubuntu$ sudo docker images
[sudo] password for ubuntu18: 
REPOSITORY TAG IMAGE ID CREATED SIZE
sshd dockerfile 83d163540876 14 minutes ago 242MB
<none> <none> d9c59c377b26 19 minutes ago 63.1MB
ubuntu 18.04 54919e10a95d 3 weeks ago 63.1MB

测试镜像,运行容器

ubuntu18@ubuntu:~/sshd_ubuntu$ sudo docker run -d -p 10022:22 sshd:dockerfile
34e104a5fa1903316f61c80efc3c29138ea8c5b770409c41a73d46724b3cac27

 

基于docker commit命令创建和基于Dockerfile创建SSH服务镜像

参考资料:https://www.cnblogs.com/gavin-guo/p/11461577.html

 

posted @ 2021-09-26 17:53  西瓜的春天  阅读(254)  评论(0)    收藏  举报