yunvn 发表于 2018-5-30 07:34:11

Docker系列(一)

本系列实验环境均为:CentOS6.6
使用epel库安装docker
# rpm -ivh http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
# yum install docker-io -y
启动docker并设为开机自启
# /etc/init.d/dockerstart
# chkconfig docker on
Docker 运行容器前需要本地存在对应的镜像,如果本地不存在镜像,Docker 会从镜像仓库下载(默认是
DockerHub 公共注册服务器中的仓库)。
从仓库获取镜像
下面从 Docker Hub 仓库下载一个CentOS6.5操作系统的镜像。
# docker pull centos

查看已有镜像
# docker images


REPOSITORY:来自于哪个仓库
TAG:镜像标签信息
IMAGEID:镜像id,唯一标识
CREATED:创建时间
VIRTUALSIZE:镜像大小

查看镜像详细信息
# docker inspect 镜像id


搜索远程仓库中共享的镜像
# docker search centos


NAME:镜像名称
DESCRIPTION:镜像描述
STARS:镜像星级,及受欢迎程度
OFFICIAL:是否官方创建
AUTOMATED:是否自动创建

删除镜像
当镜像创建的容器还存在时是无法删除的,如果需要强行删除需要加-f参数,不推荐使用。正确的做法应该是先删除容器,再删除镜像。docker rm 容器àdocker rmi 镜像。
$ docker rmi 镜像名称或id或id的部分能唯一区分的字符串
# docker rmi f1b10cd
Deleted:f1b10cd842498c23d206ee0cbeaa9de8d2ae09ff3c7af2723a9e337a6965d639

查看本机上存在的所有容器:
# docker ps -a


CONTAINER
ID:容器ID
  
IMAGE:镜像名称
  
COMMAND:运行命令
  
CREATED:创建时间
  
STATUS:状态
  
PORTS:端口
  
NAMES:名称,貌似是随机的


创建镜像
创建镜像有三种方法:
1、基于已有镜像的容器创建
dockercommit CONTAINER ]
-a,,--author=”” 作者信息
-m,--message=”” 提交信息
-p,--pause=”” 提交时暂停容器运行
# docker commit -m "my first image" -a "feige"eadad454d5af

2、基于本地模版导入
从OpenVZ下载操作系统模版文件
下载地址:http://openvz.org/Download/template/precreated
我们下载一个64位的CentOS6的系统模版文件
# 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文件
# docker save -o centos_6.6.tar centos:6.6
载入镜像
# docker load --input centos_6.6.tar或者
# docker load < centos_6.6.tar
上传镜像
默认上传到DockerHub仓库,是需要登录的。在该网站注册后,即可上传自制的镜像
docker push NAME[:TAG]
  

  
页: [1]
查看完整版本: Docker系列(一)