centos6.5 安装docker
yum -y install docker-io
service docker start
chkconfig docker on
搜索镜像: docker search <image> eg. docker search centos
拉取镜像:
docker pull <image> :从docker registry server 中下拉取image
查看镜像
docker images: 列出images
docker images -a :列出所有的images(包含历史)
docker images --tree :显示镜像的所有层(layer)
docker rmi <image ID>: 删除一个或多个image
使用镜像创建容器
[root@localhost /]# docker run chug/ubuntu12.10x64 /bin/echo hello world
交互式运行
[root@localhost /]# docker run -i -t chug/ubuntu12.10x64 /bin/bash
root@2161509ff65e:/#
查看容器
docker ps :列出当前所有正在运行的container
docker ps -l :列出最近一次启动的container
docker ps -a :列出所有的container(包含历史,即运行过的container)
docker ps -q :列出最近一次运行的container ID
删除容器
docker rm <container...> :删除一个或多个container
docker rm `docker ps -a -q` :删除所有的container
docker ps -a -q | xargs docker rm :同上, 删除所有的container
持久化容器与镜像
通过容器生成新的镜像
运行中的镜像称为容器。你可以修改容器(比如删除一个文件),但这些修改不会影响到镜像。不过,你使用docker commit <container-id> <image- name>命令可以把一个正在运行的容器变成一个新的镜像。
docker commit <container> [repo:tag] 将一个container固化为一个新的image,后面的repo:tag可选。
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
chug/ubuntu12.10x64 latest 0b96c14dafcd 4 months ago 270.3 MB
[root@localhost /]# docker commit d0fd23b8d3ac chug/ubuntu12.10x64_2
daa11948e23d970c18ad89c9e5d8972157fb6f0733f4742db04219b9bb6d063b
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
chug/ubuntu12.10x64_2 latest daa11948e23d 6 seconds ago 270.3 MB
chug/ubuntu12.10x64 latest 0b96c14dafcd 4 months ago 270.3 MB
持久化容器
export命令用于持久化容器
docker export <CONTAINER ID> > /tmp/export.tar
持久化镜像
Save命令用于持久化镜像
docker save 镜像ID > /tmp/save.tar
导入持久化container
删除container 2161509ff65e
导入export.tar文件
[root@localhost /]# cat /tmp/export.tar | docker import - export:latest
导入持久化image
删除image daa11948e23d
导入save.tar文件
[root@localhost /]# docker load < /tmp/save.tar
对image打tag
[root@localhost /]# docker tag daa11948e23d load:tag
export-import与save-load的区别
导出后再导入(export-import)的镜像会丢失所有的历史,而保存后再加载(save-load)的镜像没有丢失历史和层(layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚。
yum -y install docker-io
service docker start
chkconfig docker on
搜索镜像: docker search <image> eg. docker search centos
拉取镜像:
docker pull <image> :从docker registry server 中下拉取image
查看镜像
docker images: 列出images
docker images -a :列出所有的images(包含历史)
docker images --tree :显示镜像的所有层(layer)
docker rmi <image ID>: 删除一个或多个image
使用镜像创建容器
[root@localhost /]# docker run chug/ubuntu12.10x64 /bin/echo hello world
交互式运行
[root@localhost /]# docker run -i -t chug/ubuntu12.10x64 /bin/bash
root@2161509ff65e:/#
查看容器
docker ps :列出当前所有正在运行的container
docker ps -l :列出最近一次启动的container
docker ps -a :列出所有的container(包含历史,即运行过的container)
docker ps -q :列出最近一次运行的container ID
删除容器
docker rm <container...> :删除一个或多个container
docker rm `docker ps -a -q` :删除所有的container
docker ps -a -q | xargs docker rm :同上, 删除所有的container
持久化容器与镜像
通过容器生成新的镜像
运行中的镜像称为容器。你可以修改容器(比如删除一个文件),但这些修改不会影响到镜像。不过,你使用docker commit <container-id> <image- name>命令可以把一个正在运行的容器变成一个新的镜像。
docker commit <container> [repo:tag] 将一个container固化为一个新的image,后面的repo:tag可选。
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
chug/ubuntu12.10x64 latest 0b96c14dafcd 4 months ago 270.3 MB
[root@localhost /]# docker commit d0fd23b8d3ac chug/ubuntu12.10x64_2
daa11948e23d970c18ad89c9e5d8972157fb6f0733f4742db04219b9bb6d063b
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
chug/ubuntu12.10x64_2 latest daa11948e23d 6 seconds ago 270.3 MB
chug/ubuntu12.10x64 latest 0b96c14dafcd 4 months ago 270.3 MB
持久化容器
export命令用于持久化容器
docker export <CONTAINER ID> > /tmp/export.tar
持久化镜像
Save命令用于持久化镜像
docker save 镜像ID > /tmp/save.tar
导入持久化container
删除container 2161509ff65e
导入export.tar文件
[root@localhost /]# cat /tmp/export.tar | docker import - export:latest
导入持久化image
删除image daa11948e23d
导入save.tar文件
[root@localhost /]# docker load < /tmp/save.tar
对image打tag
[root@localhost /]# docker tag daa11948e23d load:tag
export-import与save-load的区别
导出后再导入(export-import)的镜像会丢失所有的历史,而保存后再加载(save-load)的镜像没有丢失历史和层(layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚。