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

浙公网安备 33010602011771号