OCI&OCF
-
OCI
OCI(Open Container Initiative)Linux基金会于2015年6月成立组织,旨在围绕容器格式和运行时制定一个开放的工业化标准,包括容器运行时的规范和镜像文件的规范。 -
OCF
OCF (Open Container Format)容器的开放标准。
runC 是一个 CLI 工具,根据 OCI 规范,生成和运行容器、
容器作为 runC 的子进程启动,可以嵌入到各种其他系统中,而无需运行守护进程
runC 建立在 libcontainer 之上,同样的容器技术支持数百万个 Docker 引擎安装
docker架构
客户端(client)执行命令 到docker 主机,docker daemon服务收到指令后会去本地找到相应镜像文件 启动容器,如果在本地仓库没有找到,docker daemon会去registry找所需要的镜像,拉取镜像并启动服务。所以此服务一般设置为开机自启。
·
docker镜像与镜像仓库
镜像不仅种类繁多,而且同一种镜像也会有很多版本,而registry就像一个码头,存储各种种类和各种版本的镜像文件。
镜像是静态的只读的,而容器是动态的(可写层),容器有其生命周期,镜像与容器的关系类似于程序与进程的关系。镜像类似于文件系统中的程序文件,而容器则类似于将一个程序运行起来的状态,也即进程。所以容器是可以删除的,容器被删除后其镜像是不会被删除的。
docker对象
当你使用 docker 时,你就是在创建和使用镜像、容器、网络、卷、插件和其他对象。
镜像
①镜像是一个只读模板,其中包含创建 docker 容器的说明。
②通常一个镜像基于另一个镜像产生,有一些额外的定制操作。
③你可以创建自己的镜像,也可以使用其他人创建的镜像(发布在registry)。
容器
①容器是镜像的可运行实例。
②可以使用 docker API 或 CLI 创建、运行、停止、移动或删除容器。
③可以将容器连接到一个或多个网络,保存起来,甚至可以基于当前状态创建新镜像。
docker的安装及使用
- 环境说明
centos8 系统 国内阿里云镜像仓库
docker安装
[root@rookie ~]# cd /etc/yum.repos.d/
[root@rookie yum.repos.d]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@rookie yum.repos.d]# ls
CentOS-Base.repo epel-modular.repo epel-testing-modular.repo
docker-ce.repo epel.repo epel-testing.repo
[root@rookie yum.repos.d]#cd
[root@rookie ~]# dnf -y install docker-ce
已安装:
checkpolicy-2.9-1.el8.x86_64
container-selinux-2:2.167.0-1.module_el8.5.0+911+f19012f9.noarch
containerd.io-1.5.11-3.1.el8.x86_64
docker-ce-3:20.10.14-3.el8.x86_64
docker-ce-cli-1:20.10.14-3.el8.x86_64
docker-ce-rootless-extras-20.10.14-3.el8.x86_64
docker-scan-plugin-0.17.0-3.el8.x86_64
fuse-overlayfs-1.7.1-1.module_el8.5.0+890+6b136101.x86_64
fuse3-3.2.1-12.el8.x86_64
fuse3-libs-3.2.1-12.el8.x86_64
libcgroup-0.41-19.el8.x86_64
libslirp-4.4.0-1.module_el8.5.0+890+6b136101.x86_64
policycoreutils-python-utils-2.9-16.el8.noarch
python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64
python3-libsemanage-2.9-6.el8.x86_64
python3-policycoreutils-2.9-16.el8.noarch
python3-setools-4.3.0-2.el8.x86_64
slirp4netns-1.1.8-1.module_el8.5.0+890+6b136101.x86_64
完毕!
docker加速
配置加速器,以便快速拉取镜像,docker-ce的配置文件是/etc/docker/daemon.json,此文件默认不存在,需要我们手动创建并进行配置,而docker的加速就是通过配置此文件来实现的。
docker的加速有多种方式:
- docker cn
- 中国科技大学加速器
- 阿里云加速器(需要通过阿里云开发者平台注册帐号,免费使用个人私有的加速器)
[root@rookie ~]# systemctl enable --now docker
Created symlink /etc/systemd/sys