封装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]#