首页 > Docker > Docker 第四章(commit 方式构建镜像)
2015
12-18

Docker 第四章(commit 方式构建镜像)

 

一、创建Docker Hub 账户

注册之后记得邮件激活哦

1

 

 

使用 docker login命令测试注册的用户是否可以正常工作

[root@Tshare365-docker ~]# docker login
Username: Tshare365
Password: 
Email: 903914685@qq.com
Error response from daemon: Registration: "Wrong username format (it has to match \"^[a-z0-9]{4,30}$\")"
#上面登录出错了提示我们需要小写字母
[root@Tshare365-docker ~]# docker login
Username: tshare365
Password: 
Email: 903914685@qq.com
WARNING: login credentials saved in /root/.docker/config.json
Login Succeeded
[root@Tshare365-docker ~]#

这样我们就完成了登录Docker Hub的工作,并将认证信息保存到/root/.docker/config.json 文件下

出于好奇心我们还是看一下这个文件

[root@Tshare365-docker ~]# cat /root/.docker/config.json
{
	"auths": {
		"https://index.docker.io/v1/": {
			"auth": "dHNoYXJlMzY1OnRzaGFyZTM2NS5jb20=",
			"email": "903914685@qq.com"
		}
	}
}[root@Tshare365-docker ~]#

 

二、创建镜像

2.1、使用Docker commit 命令

2.1.1、创建容器并安装nginx

[root@Tshare365-docker ~]# docker run -i -t ubuntu /bin/bash 
root@907cb41f1aea:/# 
root@907cb41f1aea:/# ifconfig 
eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:02  
          inet addr:172.17.0.2  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:238 (238.0 B)  TX bytes:328 (328.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@907cb41f1aea:/# apt-get install nginx

当我们安装了nginx以后我们想把它的状态保存起来,方便以后使用,我们就可以把镜像长传到我们的docker hub中

2.1.2、提交镜像到docker hub中

root@907cb41f1aea:/# exit
exit
#使用 docker ps -l 可以查看 容器的ID
[root@Tshare365-docker ~]# docker ps -l 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                        PORTS               NAMES
907cb41f1aea        ubuntu              "/bin/bash"         6 minutes ago       Exited (130) 16 seconds ago                       grave_cray          
#commit 后面 加容器的ID 加 镜像仓库和镜像名
[root@Tshare365-docker ~]# docker commit 907cb41f1aea tshare365/nginx
744cbaefe0f7bd380764f43d2882f0f0f9be9b74e4f93043d755b9bc69bd0c15

需要注意的是 docker commit 提交的只是创建容器的镜像与容器的当前状态的差异部分。

2.1.3、查看新创建的镜像

[root@Tshare365-docker ~]# docker images tshare365/nginx
REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
tshare365/nginx     latest              c0f193d06c58        About a minute ago   187.9 MB

 

2.1.4、运行刚刚提交的镜像

[root@Tshare365-docker ~]# docker run -t -i tshare365/nginx /bin/bash 
root@255f008632ff:/#

2.2、使用Dockerfile构建镜像

由于Dockerfile内容较多并且他具有灵活方便的特点,所以我决定单独写一篇文章详细说明一下,大家可以先把上面的内容消化一下。。

 

 

总结

到此docker的入门基础知识就介绍完成了,如果你对docker感兴趣,请持续关注Tshare365谢谢!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 




最后编辑:
作者:tshare365
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

留下一个回复