1. 创建目录并编写Dockerfile文件:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19[root@node1 ~]# mkdir ubuntu_ssh [root@node1 ~]# cd ubuntu_ssh/ [root@node1 ubuntu_ssh]# vim Dockerfile FROM ubuntu:18.04 MAINTAINER <xxq@123.com> RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak COPY 163.list /etc/apt/sources.list.d/163.list RUN apt update && apt install -y openssh-server && mkdir -p /var/run/sshd && mkdir -p /root/.ssh/ RUN sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/' /etc/pam.d/sshd COPY authorized_keys /root/.ssh/ COPY run.sh /run.sh RUN chmod +x /run.sh EXPOSE 22/tcp ##暴露22号端口 CMD ["/run.sh"] ##容器启动命令
2. 准备Dockerfile中需要复制到容器中文件:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21## 准备容器中镜像文件: [root@node1 ubuntu_ssh]# vim 163.list deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse ## 准备公钥文件: [root@node1 ubuntu_ssh]# cp ~/.ssh/id_rsa.pub authorized_keys ## 准备服务启动文件: [root@node1 ubuntu_ssh]# vim run.sh #!/bin/bash /usr/sbin/sshd -D
3. 构建镜像:
复制代码
1
2
3## Dockerfile构建镜像时,如果文件名为"Dockerfile"就不用使用-f选项指定文件,直接写"./'即可 ## 如果不是"Dockerfile",就需要-f选项指定文件 [root@node1 ubuntu_ssh]# docker build -t node2.openlab.com/demo/ssh:ubuntu_v2 ./
4. 查看镜像:
复制代码
1
2
3
4
5[root@node1 ubuntu_ssh]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE node2.openlab.com/demo/ssh ubuntu_v2 3729d72faf3e 32 seconds ago 247MB
5. 将镜像推送到Harbor上:
复制代码
1[root@node1 ubuntu_ssh]# docker push node2.openlab.com/demo/ssh:ubuntu_v2
6. 运行镜像:
复制代码
1[root@node1 ubuntu_ssh]# docker run -d -p 10023:22 node2.openlab.com/demo/ssh:ubuntu_v2
7. 验证ssh服务是否配置成功:
复制代码
1
2
3
4
5
6
7## 查看10023端口是否监听 [root@node1 ubuntu_ssh]# ss -lntup | grep 10023 tcp LISTEN 0 128 *:10023 *:* users:(("docker-proxy",pid=11368,fd=4)) tcp LISTEN 0 128 [::]:10023 [::]:* users:(("docker-proxy",pid=11372,fd=4)) ## 验证ssh是否可以免密钥链接10023 [root@node1 ubuntu_ssh]# ssh 192.168.188.111 -p 10023
最后
以上就是细心飞鸟最近收集整理的关于基于Dockerfile制作基于ubuntu启动ssh服务的镜像的全部内容,更多相关基于Dockerfile制作基于ubuntu启动ssh服务内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复