我是靠谱客的博主 细心飞鸟,最近开发中收集的这篇文章主要介绍基于Dockerfile制作基于ubuntu启动ssh服务的镜像,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.  创建目录并编写Dockerfile文件:

[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中需要复制到容器中文件:

## 准备容器中镜像文件:
[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.  构建镜像:

## Dockerfile构建镜像时,如果文件名为"Dockerfile"就不用使用-f选项指定文件,直接写"./'即可
## 如果不是"Dockerfile",就需要-f选项指定文件
[root@node1 ubuntu_ssh]# docker build -t node2.openlab.com/demo/ssh:ubuntu_v2 ./

4.  查看镜像:

[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上:

[root@node1 ubuntu_ssh]# docker push node2.openlab.com/demo/ssh:ubuntu_v2

 

6.  运行镜像:

[root@node1 ubuntu_ssh]# docker run -d -p 10023:22 node2.openlab.com/demo/ssh:ubuntu_v2

7.  验证ssh服务是否配置成功:

## 查看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服务的镜像所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部