Docker
是一个用于开发、发布和运行应用程序的开放平台。Docker 允许您将应用程序与基础设施分离,以便您可以快速交付软件。借助 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 的方法来快速交付、测试和部署代码,您可以显着减少编写代码和在生产中运行代码之间的延迟。
是一种开源容器化技术,用于构建和容器化应用程序。Docker Engine 充当客户端-服务器应用程序,具有:
CLI 使用Docker API通过脚本或直接 CLI 命令来控制 Docker 守护程序或与之交互。许多其他 Docker 应用程序使用底层 API 和 CLI。守护进程创建并管理 Docker 对象,例如映像、容器、网络和卷。
优点
- Docker容器相互隔离。
- Docker 容器与传统虚拟机相比更加轻量级。它们共享主机操作系统的内核,并且容器化应用程序仅包含其所需的运行时环境和依赖项,因此更加节省资源。
- Docker 容器可以快速部署。
- 迁移性好,可以通过
volume
参数将容器内的目录映射到宿主机的物理目录中,迁移只需要备份映射的目录即可。 - Docker 生态系统庞大且不断发展,有大量的官方和社区维护的容器镜像可供使用。官方镜像:https://hub.docker.com/
安装Docker Engine
本文仅介绍通过apt(yum) repository方法安装Docker Engine,其他的安装方式您可以通过浏览官方doc来进行安装,链接:https://docs.docker.com/engine/
Debian
操作系统要求:Debian Bookworm 12 (stable)、Debian Bullseye 11 (oldstable)
- 若您之前安装过其他的Docker安装包,需要卸载所有冲突的软件包。
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
- 设置 Docker 的
apt
存储库。
# 添加 Docker 的官方 GPG 密钥:
sudo apt-get update # 更新 apt 包列表
sudo apt-get install ca-certificates curl # 安装必要的软件包 ca-certificates 和 curl
sudo install -m 0755 -d /etc/apt/keyrings # 创建目录 /etc/apt/keyrings,并设置权限为 0755
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc # 从 Docker 的官方源下载 GPG 密钥文件到 /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc # 设置 docker.asc 文件的权限为所有用户可读
# 将 Docker 仓库添加到 Apt 源中:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 添加 Docker 的源到 /etc/apt/sources.list.d/docker.list 文件中
sudo apt-get update # 更新 apt 包列表
- 安装最新版本 Docker 软件包。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
CentOS
操作系统要求:CentOS 7、CentOS 8 (stream)、CentOS 9 (stream)
- 若您之前安装过其他的Docker安装包,需要卸载所有冲突的软件包。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 配置yum存储库。
# 安装 yum-utils 包,该包包含了 yum-config-manager 等工具
sudo yum install -y yum-utils
# 添加 Docker 的官方 YUM 仓库到 yum 配置中
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装最新版本 Docker 软件包。
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
验证
sudo docker run hello-world
注:在使用docker官方doc安装docker后,使用docker compose时注意命令是docker compose
而不是docker-compose
docker compose up -d和docker-compose up -d区别
docker-compose up -d
和 docker compose up -d
是两个命令,但它们实际上执行相同的操作,都是用来启动 Docker Compose 定义的服务,并且在后台运行(使用 -d
(后台运行)参数)。这两个命令之间的区别仅在于语法上的不同。
docker-compose up -d
是早期版本 Docker Compose 的语法,是在版本 1.27 之前的命令格式。docker compose up -d
是自 Docker Compose 1.27 版本引入的新语法,它是通过 Docker CLI 来调用 Docker Compose 的一种更加集成的方式。
原创文章,作者:Faconhost,如若转载,请注明出处:https://blog.faconhost.com/install-docker-engine/