docker的安装和入门见官网教程:http://docs.docker.com/

下面是自制docker basic image的步骤,以ubuntu为例。

1. 安装debootstrap

apt-get install debootstrap

2. 创建基本系统

debootstrap --arch=i386 trusty /home/thm/docker/min_os/ubuntu_i386/ http://archive.ubuntu.com/ubuntu

arch后跟的是硬件架构名称,可以是:amd64, armel, armhf, i386, ia64, mips, mipsel, powerpc, s390, s390x, sparc等。

"/home/thm/docker/min_os/ubuntu_i386/"是我存放ubuntu文件系统的地方,此目录可以根据实际情况修改。

3. 创建文件系统镜像

cd /home/thm/docker/min_os/ubuntu_i386/

tar -c . | docker import - tanghuimin0713/ubuntu_i386

完成之后通过docker images命令可以看到刚才创建的image文件

root@ubuntu:/home/thm/docker/min_os/ubuntu_i386# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
tanghuimin0713/ubuntu_i386 latest ee57f53fe012 About a minute ago 216.8 MB
ubuntu 14.04. c4ff7513909d days ago 225.4 MB
ubuntu latest c4ff7513909d days ago 225.4 MB
ubuntu 14.04 c4ff7513909d days ago 225.4 MB
ubuntu trusty c4ff7513909d days ago 225.4 MB

4. 修改basic image的tag

docker tag ee57f53fe012 tanghuimin0713/ubuntu_i386:14.04

ee57f53fe012是image id,tanghuimin0713/ubuntu_i386:14.04是respository名:tag名

root@ubuntu:/home/thm/docker/min_os/ubuntu_i386# docker tag ee57f53fe012 tanghuimin0713/ubuntu_i386:14.04
root@ubuntu:/home/thm/docker/min_os/ubuntu_i386#
root@ubuntu:/home/thm/docker/min_os/ubuntu_i386# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
tanghuimin0713/ubuntu_i386 latest ee57f53fe012 6 minutes ago 216.8 MB
tanghuimin0713/ubuntu_i386 14.04 ee57f53fe012 6 minutes ago 216.8 MB
ubuntu latest c4ff7513909d days ago 225.4 MB
ubuntu 14.04 c4ff7513909d days ago 225.4 MB
ubuntu 14.04. c4ff7513909d days ago 225.4 MB
ubuntu trusty c4ff7513909d days ago 225.4 MB

5. 将新建的basic image上传到docker hub中共享

docker push tanghuimin0713/ubuntu_i386

root@ubuntu:/home/thm/docker/min_os/ubuntu_i386# docker push tanghuimin0713/ubuntu_i386
The push refers to a repository [tanghuimin0713/ubuntu_i386] (len: )
Sending image list
Pushing repository tanghuimin0713/ubuntu_i386 ( tags)
ee57f53fe012: Pushing [======================================> ] 176.8 MB/232.1 MB 4m0s

备注:要想把自制的image文件上传到docker hub中与全世界的开发者共享需要先在docker hub中注册一个帐号,上传命令是docker push 用户名/image名。下图是我在docker hub的账户界面:

最新文章

  1. WCF学习之旅—HTTP双工模式(二十)
  2. Retrofit 备注
  3. memcached服务器
  4. C# Request中修改header信息
  5. iptables的扩展匹配
  6. 原创最简单的ORM例子
  7. mysql 存储过程 删除重复
  8. Linux VIM python 自动补全插件:pydiction
  9. Spring 使用外部部署文件
  10. JAVA程序猿怎么才干高速查找到学习资料?
  11. asp.net2.0安全性(1)--用户角色篇(起篇)--转载来自车老师
  12. Chapter 2 Open Book——24
  13. zf-关于差旅报销的excel表单填写
  14. 支持向量机(SVM)原理阐述
  15. shell中函数返回值
  16. django路由转发
  17. 文本挖掘之文本聚类(DBSCAN)
  18. SpringBoot自动配置的实现原理
  19. shell基本语法和执行
  20. node.js缓存处理方式

热门文章

  1. linux下shell脚本学习
  2. Task.Run Vs Task.Factory.StartNew z
  3. play framework (一)
  4. Java static解析
  5. delphi 调用百度地图WEBSERVICE转换GPS坐标 转
  6. 如何正确地使用Python的属性和描述符
  7. PL/SQL Developer使用技巧、快捷键
  8. [HDU 3033] I love sneakers! (动态规划分组背包)
  9. [HDU 2602]Bone Collector ( 0-1背包水题 )
  10. JavaScript学习笔记---入门