镜像可以从docker hub下载,也可以通过编写dockerfile制作。
制作一个基于centos的http web 服务器。
1、创建工作目录
[root@openstack ~]# mkdir /docker-built
[root@openstack ~]# cd /docker-built/
2、编辑Dockerfile
[root@openstack docker-built]# touch Dockerfile
[root@openstack docker-built]# vim Dockerfile
FROM docker.io/centos:latest
MAINTAINER thunder
RUN yum -y install httpd
ADD start.sh /usr/local/bin/start.sh
ADD index.html /var/www/html/index.html
注释:
FROM docker.io/centos:latest 基于那个镜像来制作
MAINTAINER thunder 镜像制作者
RUN yum -y install httpd
ADD start.sh /usr/local/bin/start.sh
ADD index.html /var/www/html/index.html
ADD将文件<src>拷贝到新产生的镜像的文件系统对应的路径<dest>。所有拷贝到新镜像中的
文件和文件夹权限为 0755,uid 和 gid 为 0
3、创建 start.sh 脚本启劢 httpd 服务和 apache 默认首页 index.html 文件
echo "/usr/sbin/httpd -DFOREGROUND" > start.sh
注:/usr/sbin/httpd -DFOREGROUND 相当于执行了 systemctl start httpd
[root@openstack docker-built]# chmod a+x start.sh
[root@openstack docker-built]# echo ‘docker image build test‘ > index.html
4、使用命令 build 来创建新的 image
[root@openstack docker-built]# docker build -t centos-httpd ./
查看镜像列表:
[root@openstack ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test latest b84e9a9a290f 23 hours ago 333 MB
centos-httpd latest b84e9a9a290f 23 hours ago 333 MB
docker.io/centos latest 75835a67d134 3 weeks ago 200 MB
这里一个镜像就制作好了。
[root@openstack ~]# docker save b84e9a9a290f > /opt/centos-httpd.tar
原文:https://www.cnblogs.com/winter1519/p/9910343.html