docker镜像的封装(以ssh 和apache为例)

封装apache的镜像

[root@foundation23 ~]# cd /tmp/docker/
[root@foundation23 docker]# vim Dockerfile
FROM rhel7
ENV HOSTNAME server1
MAINTAINER wn@westos.org
EXPOSE 80
COPY dvd.repo /etc/yum.repos.d/dvd.repo
RUN rpmdb --rebuilddb && yum install httpd -y && yum clean all
VOLUME ["/var/www/html"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

这里写图片描述

[root@foundation23 docker]# vim dvd.repo
[dvd]
name=rhel7.3
baseurl=http://172.25.23.250/rhel7.3
gpgcheck=0
真机也需要配置yum源  

这里写图片描述
测试:

[root@foundation23 docker]# docker build -t rhel7:v1 .
Sending build context to Docker daemon 3.072 kB
[root@foundation23 docker]# docker images rhel7
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
rhel7               v1                  327dd1459574        About a minute ago   169 MB
rhel7               latest              0a3eb3fde7fd        4 years ago          140 MB

这里写图片描述
这里写图片描述

ssh的封装

[root@foundation23 docker]# mkdir ssh
[root@foundation23 docker]# cd ssh/
[root@foundation23 ssh]# vim Dockerfile
FROM rhel7
ENV HOSTNAME server2
MAINTAINER wn@westos.org
EXPOSE 22
COPY dvd.repo /etc/yum.repos.d/dvd.repo
RUN rpmdb --rebuilddb && yum install openssh-server openssh-clients -y && yum clean all && ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" && ssh-keygen -q -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N "" && ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N "" && echo root:westos | chpasswd
CMD ["/usr/sbin/sshd", "-D"]
~                                                   
[root@foundation23 ssh]# cd ..
[root@foundation23 docker]# cp dvd.repo ssh/
[root@foundation23 docker]# cd ssh/
[root@foundation23 ssh]# docker build -t rhel7:v2 .

这里写图片描述
这里写图片描述

[root@foundation23 docker]# docker run -d --name vm4 rhel7:v2
78b3ab2139f6e468fcb6d4e165c8c92789864c4a3f29bb3d51a7c342d4d86c68
[root@foundation23 docker]# docker in
info     inspect  
[root@foundation23 docker]# docker inspect vm4
[
    {
        "Id": "78b3ab2139f6e468fcb6d4e165c8c92789864c4a3f29bb3d51a7c342d4d86c68",
        "Created": "2018-08-19T09:37:37.06852857Z",
        "Path": "/usr/sbin/sshd",
        "Args": [
            "-D"
        ],
"Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.5",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:05"

这里写图片描述
这里写图片描述
测试:

[root@foundation23 docker]# ssh 172.17.0.5
The authenticity of host '172.17.0.5 (172.17.0.5)' can't be established.
ECDSA key fingerprint is c2:7b:75:fa:c5:87:aa:95:3f:ca:71:bf:dd:6e:1e:9f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.17.0.5' (ECDSA) to the list of known hosts.
root@172.17.0.5's password: 
-bash-4.2# logout
Connection to 172.17.0.5 closed.
[root@foundation23 docker]#

这里写图片描述

猜你喜欢

转载自blog.csdn.net/ningyuxuan123/article/details/81840712