阿里云部署Docker(5)----管理和发布您的镜像
时间:2014-11-22 来源:服务器之家 投稿:root

阿里云部署Docker系列文章目录:
阿里云部署Docker(1)----阿里云Ubuntu环境搭建Docker服务
阿里云部署Docker(2)
阿里云部署Docker(3)----指令学习
阿里云部署Docker(4)----容器的使用
阿里云部署Docker(5)----管理和发布您的镜像
阿里云部署Docker(6)----解决删除镜像问题
阿里云部署Docker(7)----将容器连接起来
阿里云部署Docker(8)----安装和使用redmine
阿里云部署Docker(9)----Dockerfile脚本定制镜像

今天,我们要进一步讲解,

管理本地镜像

创建基础镜像

上传发布镜像
Listing images on the host 我们首先通过 docker images来查看一下我们本地有什么镜像。
root@iZ28ikebrg6Z:~# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu utopic 2185fd50e2ca 2 days ago 237.2 MB
ubuntu 14.10 2185fd50e2ca 2 days ago 237.2 MB
ubuntu trusty 9cbaf023786c 2 days ago 192.8 MB
ubuntu 14.04 9cbaf023786c 2 days ago 192.8 MB
ubuntu 14.04.1 9cbaf023786c 2 days ago 192.8 MB
ubuntu latest 9cbaf023786c 2 days ago 192.8 MB
ubuntu 12.04.5 a9561eb1b190 2 days ago 120.2 MB
ubuntu precise a9561eb1b190 2 days ago 120.2 MB
ubuntu 12.04 a9561eb1b190 2 days ago 120.2 MB
centos latest 87e5b6b3ccc1 2 weeks ago 224 MB
ubuntu 12.10 c5881f11ded9 3 months ago 172.2 MB
ubuntu quantal c5881f11ded9 3 months ago 172.2 MB
ubuntu 13.04 463ff6be4238 3 months ago 169.4 MB
ubuntu raring 463ff6be4238 3 months ago 169.4 MB
ubuntu saucy 195eb90b5349 3 months ago 184.7 MB
ubuntu 13.10 195eb90b5349 3 months ago 184.7 MB
training/webapp latest 31fa814ba25a 4 months ago 278.8 MB
ubuntu lucid 3db9c44f4520 5 months ago 183 MB
ubuntu 10.04 3db9c44f4520 5 months ago 183 MB

可以看到,我在之前的教程里面拉取了两个一个是ubuntu,一个是training/webapp。其中ubuntu,docker给我拉取了那么多变种回来。上面的输出有一列叫“TAG”,记得我们运行的时候会有"docker run ubuntu:14.04 /bin/bash 么 !就是根据TAG来精确的指定我们想要执行的那个ubuntu,否则docker会自作聪明的运行TAG为“latest”的那个镜像。 Getting a new image 如何获取一个新的镜像。我们知道当我们运行一个镜像的时候,如果这个镜像例如centos在本地没有,docker会自动的去远端库查询和下载。但是这种临时的下载明显是费时间的,我们可以不可以提前去下载呢?可以,使用docker pull拉取指令。
root@iZ28ikebrg6Z:~# docker pull centos
Pulling repository centos
^Croot@iZ28ikebrg6Z:~# ^C

你看,它会去拉取,不过我中断了,因为我不需要,我的阿里云存储很金贵的。 Finding images 搜索一个镜像,你可以选择去docker hub的网站搜索,也可以选择在本地用命令行的方式进行。

如下:

root@iZ28ikebrg6Z:~# docker search redmine
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
sameersbn/redmine 40 [OK]
webts/redmine Self contained Redmine 2.4 install on Cent... 2
triangle/redmine-plugin-dev Redmine 2.4.1 on ruby 2.0 aimed at plugin ... 1 [OK]
oasis/redmine-git 1
melopos/redmine 1 [OK]
turnkeylinux/redmine-13.0 TurnKey Redmine - Integrated SCM & Project... 1
sherkenh/redmine 0
oasis/redmine 0
bernigaud/redmine Redmine for my server HAL Forked from same... 0
eprecise/redmine 0
hogefoobar/redmine 0
mattuso/redmine_nginx 0 [OK]
mattuso/redmine_mysql 0 [OK]
aofox5152/redmine 0
chonglou/redmine remine+mysql+nginx 0
laughk/redmine 0
krickwix/redmine 0
bazitov/redmine 0
sasasin/redmine-scrum ALMinium on CentOS 6, with SSH server. 0
yjkim/apache-redmine 0
sosyco/redmine-sqlite-debian Tryout/GetAndRun Redmine 2.5.1/sqlitel/De... 0
eternnoir/redminebot 0 [OK]
sosyco/redmine-mysql-debian Tryout/GetAndRun Redmine 2.5.1/mysql/Debi... 0
hiromiso/redmine2.4 redmine + mysql 0
tmtkd/redminetest Sep. 1st, 2014 test of redmine/docker 0
pvdvreede/redminedev Installation of ruby 2.0.0-p247 and others 0
madmaze/ubunturedmine quick ubuntu 12.04 image with Redmine on s... 0
shaftoe/new_redmine WARNING: old legacy Redmine, not usable fo... 0
mattuso/redmine_unicorn 0 [OK]
vpetersson/redmine 0 [OK]
miraitechno/redmine 0 [OK]
pnelson/redmine 0 [OK]
padelt/redmine 0 [OK]
binaryphile/redmine Reusable, general-purpose Redmine instance... 0

我们搜索了一下redmine,这是个项目管理的服务。上面的列 有,名字,描述,星级(越流行评分越高,提供参考),是否有官方维护,是否自动化,这点我不是很能理解,我也不敢误人子弟。所以还是引用官网的那句话,各位看官自己理解

“Official repositories are built and maintained by the Stackbrew project, and Automated repositories are Automated Builds that allow you to validate the source and content of an image.”

选一个pull下来就行了。
Building an image from a Dockerfile 通过Dockerfile来构建一个镜像。用vim写一个Dockerfile,内如如下:

This is a comment

FROM ubuntu:14.04
MAINTAINER zengjinlong mailto:470910357@qq.com
RUN apt-get update && apt-get install -y ruby ruby-dev
RUN gem install sinatra

命令都是大写,FROM表示它的源是什么,例如我们这个是给予Ubuntu:14.04的,MAINTANER是维护人员,比如说我,小曾,卖下萌。

RUN表示执行指令。

好,执行上述Dockerfile。

root@iZ28ikebrg6Z:~/docker# docker build -t="zengjinlong/sinatra:v2" .
Sending build context to Docker daemon 2.56 kB
Sending build context to Docker daemon
Step 0 : FROM ubuntu:14.04
---> 9cbaf023786c
Step 1 : MAINTAINER zengjinlong mailto:470910357@qq.com
---> Running in c5674e71d7e4
---> 224b40d4b89f
Removing intermediate container c5674e71d7e4
Step 2 : RUN apt-get update && apt-get install -y ruby ruby-dev
---> Running in 5d6373cb79e6
Ign http://archive.ubuntu.com trusty InRelease
Ign http://archive.ubuntu.com trusty-updates InRelease
Ign http://archive.ubuntu.com trusty-security InRelease
Ign http://archive.ubuntu.com trusty-proposed InRelease
Get:1 http://archive.ubuntu.com trusty Release.gpg [933 B]
Get:2 http://archive.ubuntu.com trusty-updates Release.gpg [933 B]
Get:3 http://archive.ubuntu.com trusty-security Release.gpg [933 B]
Get:4 http://archive.ubuntu.com trusty-proposed Release.gpg [933 B]
Get:5 http://archive.ubuntu.com trusty Release [58.5 kB]
Get:6 http://archive.ubuntu.com trusty-updates Release [59.7 kB]
Get:7 http://archive.ubuntu.com trusty-security Release [59.7 kB]
Get:8 http://archive.ubuntu.com trusty-proposed Release [110 kB]
Get:9 http://archive.ubuntu.com trusty/main Sources [1335 kB]

会耗费比较长的时间。

我们技术下一步的学习。

标记一个image

docker tag 5db5f8471261 ouruser/sinatra:devel

root@iZ28ikebrg6Z:~/docker# docker tag 224b40d4b89f zengjinlong/sinatra:v3

结果显示一下,

输出:

root@iZ28ikebrg6Z:~/docker# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
zengjinlong/sinatra v3 224b40d4b89f 13 minutes ago 192.8 MB
ubuntu 14.10 2185fd50e2ca 2 days ago 237.2 MB
ubuntu utopic 2185fd50e2ca 2 days ago 237.2 MB
ubuntu trusty 9cbaf023786c 2 days ago 192.8 MB
ubuntu latest 9cbaf023786c 2 days ago 192.8 MB
ubuntu 14.04.1 9cbaf023786c 2 days ago 192.8 MB
ubuntu 14.04 9cbaf023786c 2 days ago 192.8 MB
ubuntu precise a9561eb1b190 2 days ago 120.2 MB
ubuntu 12.04.5 a9561eb1b190 2 days ago 120.2 MB
ubuntu 12.04 a9561eb1b190 2 days ago 120.2 MB
centos centos5 504a65221a38 2 weeks ago 467.1 MB
centos centos6 68edf809afe7 2 weeks ago 212.7 MB
centos centos7 87e5b6b3ccc1 2 weeks ago 224 MB
centos latest 87e5b6b3ccc1 2 weeks ago 224 MB
ubuntu quantal c5881f11ded9 3 months ago 172.2 MB
ubuntu 12.10 c5881f11ded9 3 months ago 172.2 MB
ubuntu 13.04 463ff6be4238 3 months ago 169.4 MB
ubuntu raring 463ff6be4238 3 months ago 169.4 MB
ubuntu saucy 195eb90b5349 3 months ago 184.7 MB
ubuntu 13.10 195eb90b5349 3 months ago 184.7 MB
training/webapp latest 31fa814ba25a 4 months ago 278.8 MB
ubuntu 10.04 3db9c44f4520 5 months ago 183 MB
ubuntu lucid 3db9c44f4520 5 months ago 183 MB

上传我们的镜像到docker hub里面。
root@iZ28ikebrg6Z:~/docker# docker push zengjinlong/sinatra
The push refers to a repository [zengjinlong/sinatra] (len: 1)
Sending image list
^Croot@iZ28ikebrg6Z:~/docker#

演示一下就OK,不是很想在这里浪费时间。

删除本地镜像,因为毕竟占地方把。

root@iZ28ikebrg6Z:~/docker# docker rmi centos

转载请注明原文地址:http://www.server110.com/docker/201411/11139.html