镜像是Docker的核心概念之一,它是不可变的、只读的,并包含了一套文件系统,里面包含了运行某个软件所需的所有内容,如代码、运行时、库、环境变量等。你可以将镜像想象成一个类Unix操作系统的快照。
容器是从镜像运行起来的一个实例,它可以被启动、停止、移动和删除。每一个容器都有自己的root文件系统、网络栈、进程空间等,因此它们之间是完全隔离的。
仓库是用来保存镜像的地方,你可以把它理解成一个代码仓库,只不过这里存放的是Docker镜像。Docker官方维护了一个公共的镜像仓库Docker Hub,任何人都可以在上面分享和下载镜像。
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
最大的公开仓库是 Docker Hub(https://hub.docker.com/open), 存放了数量庞大的镜像供用户下载。国内的公开仓库包括腾讯云 等
举例来说,假设想运行一个基于 CentOS 操作系统的 Web 服务器应用程序。可以按照以下步骤进行操作:
docker build
) 来生成应用程序镜像。仓库允许共享镜像,同时可以保存多个版本的镜像,以便轻松地回滚到旧版本或进行更新。容器和镜像则提供了应用程序的隔离和可移植性,使得可以在不同的环境中运行相同的应用程序。这些概念共同构成了 Docker 生态系统的核心。
在安装 Docker 之前,先说一下配置,我这里是Centos7 Linux 内核:官方建议 3.10 以上 。
查看当前的内核版本
uname -r
3.10.0-1160.95.1.el7.x86_64
3.10.0-1160.95.1.el7.x86_64
是 CentOS 7 操作系统内核的版本号。具体来说,它表示了以下信息:
3.10.0
是 Linux 内核的主版本号。
1160.95.1
是 CentOS 7 内核的次版本号和修订号。
el7
表示这个内核是为 CentOS 7 版本构建的。
x86_64
表示内核是为 64 位 x86 架构的计算机编译的。
这个版本号用于标识操作系统内核的特定版本,它对于系统管理员和开发人员来说是很重要的,因为不同的内核版本可能会带来不同的特性、改进和修复。如果需要详细了解此内核版本的内容或有特定的问题,可以查看 CentOS 官方文档或内核发布说明来获取更多信息。
如果已经安装,则卸载旧的docker版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装仓库
sudo yum install -y yum-utils
#设置镜像仓库地址
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装最新版本的Docker Engine和容器,或转到下一步以安装特定版本:
sudo yum install docker-ce docker-ce-cli containerd.io
这个命令是安装 Docker CE 和它的两个重要组件 docker-ce-cli
和 containerd.io
。
CE 是 Community Edition 的缩写,意思是社区版。
docker-ce
是 Docker 的核心组件,包括了运行 Docker 所需的各种二进制文件和配置文件。
docker-ce-cli
是 Docker 的命令行工具,用于和 Docker 服务器进行交互,例如运行容器、管理镜像等。
containerd.io
是 Docker 使用的一个底层容器运行时,它提供了一些关键的功能,如容器生命周期管理、镜像传输和存储等。
总的来说,这三个组件共同构成了 Docker CE,并且缺一不可。如果想在 CentOS 上安装 Docker,那么就需要运行上述命令。
注意:在安装前请确保 CentOS 版本支持 Docker CE,同时也需要确保有 root 权限才能运行此命令。如果 CentOS 版本较老,可能需要先更新系统版本再进行安装。
systemctl start docker
systemctl enable docker
docker version
或者
docker -v
docker run hello-world
docker images
vim /etc/docker/daemon.json
添加镜像地址
{
"registry-mirrors": ["https://xxx.xxx.xxx.com"]
}
或者
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
# 用你自己的镜像源!!!!!!
"registry-mirrors": ["https://xxxxxxxxxxxxxxxxxxxxxx.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
重新加载配置文件
systemctl daemon-reload
重启docker服务
systemctl restart docker
先停止docker
systemctl stop docker
卸载Docker Engine,CLI和Containerd软件包
sudo yum remove docker-ce docker-ce-cli containerd.io
主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
必须手动删除所有已编辑的配置文件!!!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。