第一篇docker01
一、docker由来、发展
1、什么是容器?什么是docker?它们之间的关系?
linux容器:把需要的资源(如主机名、IP、别名、文件系统、进程树登),隔离出来;互不干扰;
docker:是一种管理容器的技术;LXC也是一种容器的管理技术;
二、docker安装和体系结构
1、docker 的安装(外网)
1.1 yum源准备 curl http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1.2 安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 yum list docker-ce.x86_64 --showduplicates | sort -r yum install -y docker-ce
1.3 安装docker-ce yum install -y --setopt=obsoletes=0 \ docker-ce-17.03.2.ce-1.el7.centos.x86_64 \ docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
1.4 启动docker服务 systemctl daemon-reload systemctl restart docker docker version docker info
1.5 配置镜像加速 阿里云Docker-hub https://cr.console.aliyun.com/cn-hangzhou/mirrors mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://uoggbpok.mirror.aliyuncs.com"] } EOF systemctl daemon-reload systemctl restart docker
2、docker的体系结构
docker由三部分组成:远程仓库(registry)、本地镜像(images)、容器(container);

docker daemon:提供docker的引擎功能(即容器管理功能);
container:管理这些容器的功能;
images:维护本地存储镜像的仓库;
registry:官方的存放一些images文件,包含所有的镜像索引和验证的一些功能;(例如:1、提供了用户验证,有的镜像服务器是私有的,需要用户密码才能获取;2、提供了镜像索引,用来快速查找某个镜像;3、提供了 镜像的存储;)
三、docker的镜像基础管理
3.1 获取镜像
docker search centos //搜索centos的镜像 docker pull centos:7.8.2003 //下载7.8的centos镜像 docker pull nginx //无版本号,默认下载最新版的nginx镜像 docker images ls //查看本地已有的镜像
3.2 镜像的查看和解释

上面的centos 6.8/6.9 这个是官方提供的;oldguo/centos_sshd v1.0等这个是私人提供的,并push推到docker hub上的;
TAG:标识每一个镜像的版本;
IMAGE ID:标识镜像的唯一性。(sha256:64位号码,默认只截取12位);
//镜像的详细查看二种方式 docker image ls --no-trunc //方式一:详细查看具体的image id docker image inspect centos:7.8.2003 //方式二:后加镜像版本 docker image inspect 82f3b5f3c58f //方式二:后加镜像id
//或者 只查看镜像的ID docker image ls -q
3.3 镜像的导入导出
使用场景:适用于公司的基础镜像,如果本地已经搭建好了仓库,就不需要这一步骤了。仅仅使用本地没有仓库,别人也不想去pull,我们需要做一些分发。
//案例:以ubuntu的镜像为例,把ubuntu的镜像发到一个 /tmp/ 一个位置,别的机器下载好导入一下就好; //操作步骤 docker image save fb52e22af1b0 >/tmp/ubuntu.tar //①导入镜像到/tmp目录下,名字为ubuntu.tar ll /tmp/ubuntu.tar //②进入/opt/下查看 ③自己在内网种搭建一个下载服务器:ftp服务器或者http docker image rm fb52e22af1b0 //④先删除本地ubuntu的镜像,一会再导入,方便演示 docker image load -i /tmp/ubuntu.tar //⑤找到下载好的tar位置,进行导入 docker image ls //⑥此时再次查看本地的docker镜像,只是没有名字 docker image tag fb52e22af1b0 ubuntu:latest //⑦手动给刚才的镜像起一个标签
3.4 镜像的删除
docker image rm -f 3556258649b2 //方式一:正常删除;如果要删除的 //像被别人依赖,可能会报一些错误。 docker image rm -f `docker image ls -q` //方式二:全部删除镜像

浙公网安备 33010602011771号