制作docker镜像
构建镜像的方式
上篇章节介绍了如何从docker hub上拉取镜像,同时我们也可以制作镜像上传到docker hub上。
首先我们需要做一些准备工作:
1.在docker hub上进行注册:
docker hub官网地址:
https://hub.docker.com/
2.登录docker hub:
可以选择在官网进行登录,也可以使用命令行进行登录。我选择在命令行登录,输入用户名密码即可。
root@vs026:~# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: ********
Password:
Login Succeeded
如果成功会提示“Login Succeeded”
制作一个镜像
我们所谓的制作镜像并不是从无到有制作,而是在官方提供的docker镜像基础上安装应用程序,生成基础的专有镜像,这个是微服务的基本组件。
查看docker进行中的容器,或者从镜像中开启一个容器然后,我们选择后者进行示例:
root@zhangchi-ThinkPad-T450s:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
17c4fdee15b0 jlinoff/centos-6.5-x86_64-base "/bin/bash" 27 seconds ago Up 27 seconds centos_base
docker commit
我们以上述的容器为例,这是一个比较新的centos容器,我们在此基础上安装httpd服务,然后关闭该容器:
root@zhangchi-ThinkPad-T450s:~# docker attach 17c4fdee15b0
[root@17c4fdee15b0 /]#
[root@17c4fdee15b0 /]#
[root@17c4fdee15b0 /]# yum install httpd -y
[root@17c4fdee15b0 /]# exit
exit
提交制定的容器(算是从容器—–>镜像):
root@zhangchi-ThinkPad-T450s:~# docker commit 17c4fdee15b0 zhangchiwd371/centos_httpd
然后查看刚才提交的镜像的详细信息:
root@zhangchi-ThinkPad-T450s:~# docker inspect zhangchiwd371/centos_httpd
[
{
"Id": "sha256:52d55d6a2d92472dd7e57e5c0cae3815c5e676c1ad321f007698781755c38d32",
"RepoTags": [
"zhangchiwd371/centos_httpd:latest"
],
"RepoDigests": [],
"Parent": "sha256:3d6541b04d52d5d3300fa286e6db54144f12f4fb4b0dff3bd3dff967c49a9e8f",
"Comment": "",
"Created": "2016-11-10T14:50:30.774207025Z",
"Container": "17c4f