weewee 发表于 2015-7-13 09:21:04

Docker系列(一)---镜像

本系列实验环境均为:CentOS6.6使用epel库安装docker
1
2
# rpm -ivh http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
# yum install docker-io -y




启动docker并设为开机自启
1
2
# /etc/init.d/dockerstart
# chkconfig docker on




Docker 运行容器前需要本地存在对应的镜像,如果本地不存在镜像,Docker 会从镜像仓库下载(默认是DockerHub 公共注册服务器中的仓库)。从仓库获取镜像下面从 Docker Hub 仓库下载一个CentOS6.5操作系统的镜像。
1
# docker pull centos





查看已有镜像# docker imagesREPOSITORY:来自于哪个仓库TAG:镜像标签信息IMAGEID:镜像id,唯一标识CREATED:创建时间VIRTUALSIZE:镜像大小 查看镜像详细信息# docker inspect 镜像id 搜索远程仓库中共享的镜像# docker search centosNAME:镜像名称DESCRIPTION:镜像描述STARS:镜像星级,及受欢迎程度OFFICIAL:是否官方创建AUTOMATED:是否自动创建 删除镜像当镜像创建的容器还存在时是无法删除的,如果需要强行删除需要加-f参数,不推荐使用。正确的做法应该是先删除容器,再删除镜像。docker rm 容器àdocker rmi 镜像。$ docker rmi 镜像名称或id或id的部分能唯一区分的字符串
1
2
# docker rmi f1b10cd
Deleted:f1b10cd842498c23d206ee0cbeaa9de8d2ae09ff3c7af2723a9e337a6965d639





查看本机上存在的所有容器:# docker ps -aCONTAINERID:容器ID
IMAGE:镜像名称
COMMAND:运行命令
CREATED:创建时间
STATUS:状态
PORTS:端口
NAMES:名称,貌似是随机的
创建镜像创建镜像有三种方法:1、基于已有镜像的容器创建dockercommit CONTAINER ]-a,,--author=”” 作者信息-m,--message=”” 提交信息-p,--pause=”” 提交时暂停容器运行
1
# docker commit -m "my first image" -a "feige"eadad454d5af





2、基于本地模版导入从OpenVZ下载操作系统模版文件下载地址:http://openvz.org/Download/template/precreated我们下载一个64位的CentOS6的系统模版文件
1
2
3
4
5
6
# wget http://download.openvz.org/template/precreated/centos-6-x86_64.tar.gz
# cat centos-6-x86_64.tar.gz |docker import - centos:6
8be92c6cdb667c903133bfcc3f91db3d4065756c05fec9a1d21c9dc8314226bd
# docker images
REPOSITORY          TAG               IMAGE ID            CREATED             VIRTUAL SIZE
centos                  6                   8be92c6cdb66         55 seconds ago          606.7 MB





3、基于Dockerfile创建。这个留空,后面再说 存出镜像存出本地的centos6.6为centos_6.6.tar文件
1
# docker save -o centos_6.6.tar centos:6.6




载入镜像
1
# docker load --input centos_6.6.tar




或者
1
# docker load < centos_6.6.tar




上传镜像默认上传到DockerHub仓库,是需要登录的。在该网站注册后,即可上传自制的镜像docker push NAME[:TAG]

国安信仰 发表于 2015-7-15 11:28:46

不错,学习了!
页: [1]
查看完整版本: Docker系列(一)---镜像