本系列实验环境均为:CentOS6.6

使用epel库安装docker

[root@docker1~]# rpm -ivh http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm[root@docker1~]# yum install docker-io -y

 

启动docker并设为开机自启

[root@docker1~]# /etc/init.d/dockerstart[root@docker1~]# chkconfig docker on

Docker 运行容器前需要本地存在对应的镜像,如果本地不存在镜像,Docker 会从镜像仓库下载(默认是

DockerHub 公共注册服务器中的仓库)。

从仓库获取镜像

下面从 Docker Hub 仓库下载一个CentOS6.5操作系统的镜像。

[root@docker1~]# docker pull centos

查看已有镜像

[root@docker1 ~]# docker p_w_picpaths

wKioL1Wf0G-AJmPKAABuhnOHQ6g824.jpg

REPOSITORY:来自于哪个仓库

TAG:镜像标签信息

IMAGE  ID:镜像id,唯一标识

CREATED:创建时间

VIRTUALSIZE:镜像大小

 

查看镜像详细信息

[root@docker1 ~]# docker inspect 镜像id

 

搜索远程仓库中共享的镜像

[root@docker1 ~]# docker search centos

wKioL1Wf0KGBBWWVAAOaLU260aY403.jpg

NAME:镜像名称

DESCRIPTION:镜像描述

STARS:镜像星级,及受欢迎程度

OFFICIAL:是否官方创建

AUTOMATED:是否自动创建

 

删除镜像

当镜像创建的容器还存在时是无法删除的,如果需要强行删除需要加-f参数,不推荐使用。正确的做法应该是先删除容器,再删除镜像。docker rm 容器àdocker rmi 镜像。

$ docker rmi 镜像名称或idid的部分能唯一区分的字符串

[root@docker1home]# docker rmi f1b10cdDeleted:f1b10cd842498c23d206ee0cbeaa9de8d2ae09ff3c7af2723a9e337a6965d639

查看本机上存在的所有容器:

[root@docker1~]# docker ps -a

wKioL1Wf0dPh762aAAE_1m9A5QQ039.jpg

CONTAINER ID:容器ID

IMAGE:镜像名称

COMMAND:运行命令

CREATED:创建时间

STATUS:状态

PORTS:端口

NAMES:名称,貌似是随机的

 

创建镜像

创建镜像有三种方法:

1、基于已有镜像的容器创建

docker  commit  [OPTIONS] CONTAINER  [REPOSITORY [:TAG] ]

-a,--author=”” 作者信息

-m--message=”” 提交信息

-p--pause=”” 提交时暂停容器运行

[root@docker1~]# docker commit -m "my first p_w_picpath" -a "feige"eadad454d5af

2、基于本地模版导入

OpenVZ下载操作系统模版文件

下载地址:

我们下载一个64位的CentOS6的系统模版文件

[root@docker1home]# wget http://download.openvz.org/template/precreated/centos-6-x86_64.tar.gz[root@docker1home]# cat centos-6-x86_64.tar.gz |docker import - centos:68be92c6cdb667c903133bfcc3f91db3d4065756c05fec9a1d21c9dc8314226bd[root@docker1home]# docker p_w_picpathsREPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZEcentos                  6                   8be92c6cdb66         55 seconds ago          606.7 MB

3、基于Dockerfile创建。

这个留空,后面再说

 

存出镜像

存出本地的centos6.6centos_6.6.tar文件

[root@docker1~]# docker save -o centos_6.6.tar centos:6.6

 

载入镜像

[root@docker1~]# docker load --input centos_6.6.tar

或者

[root@docker1~]# docker load < centos_6.6.tar

 

上传镜像

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

docker push NAME[:TAG]