1.Docker组成(三大重要的成员)
1.1.镜像(Image)
:
- Docker 镜像(Image)就是
一个只读的模板
。 - Docker 镜像(Image)可以
用来创建容器,一个镜像可以创建很多容器
。 - 镜像就相当于是一个 root 文件系统。比如官方镜像 centos:7 就包含了完整的一套 centos:7 最小系统的 root 文件系统。
- 镜像
相当于容器的“源代码”
,docker镜像文件类似于Java的类模板
,而docker容器实例类似于java中new出来的实例对象
Docker | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
1.2.容器(Container)
:
- 从面向对象角度:
Docker 利用容器(Container)独立运行的一个或一组应用
,应用程序或服务运行在容器里面,容器就类似于一个虚拟化的运行环境,容器是用镜像创建的运行实例
。 - 就像是Java中的类和实例对象一样,镜像是静态的定义,容器是镜像运行时的实体。
- 容器为镜像提供了一个标准的和隔离的运行环境,它
可以被启动、开始、停止、删除
。每个容器都是相互隔离的、保证安全的平台
从镜像容器角度可以把容器看做是一个简易版的 Linux 环境
(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
1.3.仓库(Repository)
:
- 仓库可看成一个代码控制中心,是用来集中存放
镜像
的地方 - 默认情况下,将来从docker hub上下载docker镜像,但是太慢。
- 所以一般都会配置镜像加速器:如阿里云,我们自己也可以把镜像发布到仓库中,需要的时候再从仓库上下载下来使用;.
- 仓库分为
公开仓库(Public)和私有仓库(Private)
两种形式。最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云等
2.总结:
- 1.需要正确的理解仓库/镜像/容器这几个概念:
Docker 本身是一个容器运行载体或称之为管理引擎
。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就是image镜像文件
。只有通过这个镜像文件才能生成Docker容器实例(类似Java中new出来一个对象)。 - 2.
image文件可以看作是容器的模板
。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。 - 3.镜像文件:image 文件生成的容器实例,本身也是一个文件,称为镜像文件。
- 4.容器实例: 一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器
- 5.仓库:就是
放一堆镜像的地方
,我们可以把镜像发布到仓库中,需要的时候再从仓库中拉下来就可以了。
3.Docker架构:
4.Docker架构的的底层通信原理
5.CentOS7 中安装docker
5.1.安装过程:
- 1.官网说明:
- 2.下载Docker安装包:
- 3.Docker运行在Centos7上,要求
系统为64位,Linux系统内核版本为3.8以上
,查看内核命令:cat /etc/redhat-release
- 4.卸载Docker的旧版本:
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
- 5.yum 包更新到最新:
yum update
;yum安装gcc相关:yum -y install gcc
和yum -y install gcc-c++
- 6.安装需要的软件包, yum-util提供yum-config-manager功能,另外两个devicemapper驱动依赖的
yum install -y yum-utilsdevice-mapper-persistent-data lvm2
- 7.设置yum源:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 8.更新yum软件包索引:
yum makecache fast
- 9.安装docker,出现输入的界面都按 y :
yum install -y docker-ce
- 10.查看docker版本,验证是否验证成功:
docker -v
- 11.配置Docker的远程仓库
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ptu31bm5.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
5.2.Docker 启动与关闭等相关命令
- 1.启动docker服务:
systemctl start docker
- 2.停止docker服务 :
systemctl stop docker
- 3.重启docker服务 :
systemctl restart docker
- 4.查看docker服务状态:
systemctl status docker
- 5.开机启动docker服务:
systemctl enable docker
- 6.查到docker概要信息:
docker info
- 7.查到docker总体帮助文档信息:
docker --help
- 8.查看docker命令帮助文档
docker 命令 --help
5.3.docker run 命令:
- 1.命令:
- 2.当执行完docker run命令后,docker后的一系列操作:
6.两个重要网址:
- 1.docker官网:
- 2.Docker Hub官网: :用来查找镜像的