docker的基本组成
仓库 repository
- 集中存放镜像的地方
仓库Repository和仓库注册服务器Registry是有区别的
- Registry:注册服务器,用于管理镜像仓库,起到的是服务器的作用
- Repository:镜像仓库,用于存储具体的docker镜像,起到的是仓库存储作用。
- 仓库注册服务器上往往存放很多个仓库,每个仓库中又包含多个镜像,每个镜像有不同的Tag标签
- https://hub.docker.com/_/redis
仓库分为 公共仓库Public 和 私有仓库Private
- 最大的公开仓库是:Docker Hub https://hub.docker.com, 存放了数量庞大的镜像供用户下载
- 国内的公开仓库包括阿里云和网易云等
镜像 images
模板,只读的模板,可以用来创建Docker容器,一个镜像可以创建很多容器
Image文件生成容器的实例,本身也是一个文件,称为镜像文件
容器 container
实例,实际应用
- Docker利用容器Container独立运行一个或一组应用
- 容器是用镜像创建的运行实例
- 它可以被启动,开始,停止,删除,每个容器是相互隔离的,保证完全的平台
- 可以把容器看作是一个简易版的Linux环境,(包括root用户权限,进程空间,用户空间,网络空间的等)和运行在其中的应用程序
- 容器的定义和镜像一模一样,也是一堆层的统一视角,唯一区别是容器的最上层是可读可写的
----------------------------------------------------------------------------------------------------------
Docker 本身是一个容器运行载体或者管理引擎
我们把应用程序和配置依赖打包好形成一个可以交付的运行环境,这个打包好的运行环境就是images镜像文件,只有通过这个镜像文件才能生成Docker容器
- Image文件可以看做是容器的模板
- Docker根据image文件生成容器的实例
- 同一个Image可以生成多个同时运行的容器实例
一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,就是容器
仓储,存储一堆镜像的地方,可以把镜像发布到仓储中,也可以从仓储中拉下来
Dcoker deamon: Docker后台进程
----------------------------------------------------------------------------------------------------------
Docker 安装
Docker最初是一个开源项目,主要由docker公司维护, 2017年年初,docker公司将原先的docker项目改名为moby,并创建了docker-ce和docker-ee
- moby是继承了原先的docker的项目,是社区维护的的开源项目,谁都可以在moby的基础打造自己的容器产品
- docker-ce是docker公司维护的开源项目,是一个基于moby项目的免费的容器产品 社区版
- docker-ee是docker公司维护的闭源产品,是docker公司的商业产品 企业版
社区版官方安装手册: https://docs.docker.com/install/linux/docker-ce/centos/#install-docker-ce
- 卸载旧的版本
- 安装依赖包
- 增加docker yum源并且激活
- 安装
- 启动并测试
- 注意:未启动之前 /etc/docker 目录不存在
- docker也可以在windows平台上使用 https://docs.docker.com/docker-for-windows/install/
Docker 换源
- 默认源:官方的,国外的,下载太慢
- 国内的有 阿里,网易
` vim /etc/docker/daemon.json ` { "registry-mirrors": ["https://registry.docker-cn.com"] }
重启服务即可
阿里云加速服务
docker Hello-world 镜像
docker run hello-world
# 先检测本地是否已经存在hello-world镜像,否则的话,会从仓库自动下载镜像
- 命令行就是客户端,运行docker run命令,
- Docker daemon主线程 会接受命令,运行容器,如果没有容器,会从仓库中下载镜像,在生成容器运行
这个Hello-world 演示了docker的操作
- docker run 运行命令
- Docker daemon主线程检查本地是否存在镜像
- 如果有镜像,则创建生成容器实例运行
- 如果没有镜像,从Docker Hub上查找镜像
- 如果没有找到,返回错误信息
- 如果找到,下载镜像到本地,以该镜像为模板创建
帮助命令
Docker version: 验证版本信息
Docker info : 详细的描述信息,容器数量,仓库,仓库镜像等信息
Docker command help 帮助信息