安装
基本组成
1、镜像(Image)
(1)一个只读的模板,可以用来创建 Docker 容器,一个镜像可以创建很多容器
(2)相当于是一个 root 文件系统
(3)类似 Java 类模板
2、容器(Container)
(1)类似一个虚拟化的运行环境,容器是用镜像创建的运行实例
(2)容器为镜像提供了一个标准的和隔离的运行环境,它可以被启动、开始、停止、删除,每个容器都是相互隔离的、保证安全的平台
(3)看做是一个简易版的 Linux 环境(包括 root 用户权限、进程空间、用户空间、网络空间等)和运行在其中的应用程序
3、仓库(Repository)
(1)集中存放镜像文件
(2)仓库分为公开仓库(Public)、私有仓库(Private)
Docker 运行的基本流程
1、用户使用 Docker Client 与 Docker Daemon 建立通信,并发送请求给后者
2、Docker Daemon 作为 Docker 架构中的主体部分,首先提供 Docker Server 的功能使其接受 Docker Client 的请求
3、Docker Engine 执行 Docker 内部的一系列工作,每一项工作都是以一个 Job 形式存在
4、Job 的运行过程中,当需要容器镜像时,则从 Docker Registry 中下载镜像,并通过镜像管理驱动 Graph Driver 将下载镜像以 Graph 形式存储
5、当需要为 Docker 创建网络环境时,通过网络管理驱动 Network Driver 创建并配置 Docker 容器网络环境
6、当需要限制 Docker 容器运行资源或执行用户指令等操作时,则通过 Exec Driver 完成
7、Libcontainer 是一项独的容器管理包,Network Driver、Exec Driver 都是通过 Libcontainer 来实现具体对容器进行的操作
CentOS 安装 Dokcer Engine
1、卸载旧版本
(1)Docker 旧版本被称为 docker 或 docker-engine
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
(2)/var/lib/docker/的内容,包括 images、containers、volumes、networks 都被保留下来
(3)Docker Engine 包现在被称为 docker-ce
2、使用资源库进行安装
(1)第一次在新主机上安装 Docker Engine 之前,需要设置 Docker 仓库,之后可以从资源库中安装和更新 Docker
(2)设置资源库:安装 yum-utils 包,它提供 yum-config-manager 工具并设置仓库
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、更新 yum 软件包索引
sudo yum makecache fast
4、安装最新版本的 Docker Engine、containerd、Docker Compose
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
(1)如果提示接受 GPG 密钥,验证指纹是否与 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 相匹配,如果是,就接受它
(2)这条命令安装了 Docker,但它并没有启动 Docker
(3)它还创建了一个 docker 组,但是,默认情况下,它没有添加任何用户到该组
5、安装一个特定版本的 Docker Engine,请在 Repo 中列出可用的版本,然后选择并安装
(1)列出 Repo 中的可用版本并进行排序(这个例子按照版本号对结果进行排序,从高到低,并且是截断的)
yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
(2)返回的列表取决于启用了哪些软件库,并且是针对 CentOS 版本的(在这个例子中用 .el7 后缀表示)
(3)根据软件包名称安装特定的版本,即软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)开始,直到第一个连字符,用连字符(-)分开。例如:docker-ce-18.09.100
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin
(4)这条命令安装 Docker,但它并没有启动 Docker
(5)它还创建了一个 docker 组,但是默认情况下并没有将任何用户添加到该组
6、开启 Docker 服务
sudo systemctl start docker
7、安装校验
(1)版本信息
docker version
(2)通过运行 hello-world 镜像,验证 Docker Engine 是否正确安装,这个命令下载一个测试镜像并在一个容器中运行,当容器运行时,它会打印一条信息并退出
sudo docker run hello-world
卸载 Docker Engine
1、卸载Docker Engine、CLI、Containerd、Docker Compose 软件包
sudo yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
2、主机上的 images、containers、volumes、定制的配置文件不会被自动删除
(1)删除所有 images、containers、volumes
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
(2)必须手动删除任何编辑过的配置文件
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战