ubuntu22.04 安装Docker Engine和Compose

一、Docker, Docker Engine,Docker Desktop

要部署一个半自助标注平台,需要Docker,考虑了一下还是选择在linux环境下安装Docker Engine 和 Docker Compose,还是比较这三种记录一下:

  • Docker: Docker是一个开源项目,它允许开发者将应用程序及其依赖项打包到一个可移植的容器中,从而实现应用程序的快速部署和管理。这个容器化的应用程序可以在任何Docker环境中运行,无论是在开发、测试还是生产环境中。
  • Docker Engine: Docker Engine是Docker项目的核心组件,它提供了一个可扩展的API,允许开发者使用Docker命令行工具或通过编程方式与Docker进行交互。通过这个API,开发者可以创建、运行和管理容器化应用程序。Docker Engine还提供了一些其他功能,如镜像管理、容器网络和存储卷管理等。
  • Docker Desktop:Docker Desktop是一个桌面应用程序,它为Windows和Mac OS X用户提供了易于使用的界面来运行和管理Docker容器。通过Docker Desktop,用户可以轻松地创建、部署和管理容器化应用程序,而无需手动配置Docker Engine。此外,Docker Desktop还提供了一些额外的特性,如Kubernetes集群管理、图形化日志查看和容器资源管理等。

二、安装Docker Engine

参考这篇博客

2.1 更新系统

首先,确保您的系统软件包是最新的。这有助于避免安装过程中可能遇到的问题。

bash 复制代码
sudo apt update
sudo apt upgrade -y

2.2 安装依赖

在安装Docker之前,需要安装一些必要的依赖包:

bash 复制代码
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

2.3 添加Docker的官方GPG密钥

为了确保下载的软件包的安全性,需要添加Docker的官方GPG密钥:

bash 复制代码
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

2.4 添加Docker的APT源

接下来,将Docker的APT源添加到系统的源列表中:

bash 复制代码
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2.5 安装Docker引擎

现在,可以安装Docker引擎了:

bash 复制代码
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y

2.6 启动Docker并查看是否安装成功

bash 复制代码
sudo systemctl start docker
docker --version

三、 安装Docker Compose

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。可以通过以下步骤安装:

3.1 下载最新版本的Docker Compose:

bash 复制代码
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

3.2 为Docker Compose二进制文件添加执行权限:

bash 复制代码
sudo chmod +x /usr/local/bin/docker-compose

3.3 验证是否安装成功

bash 复制代码
docker-compose --version
相关推荐
七歌杜金房16 小时前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia2 天前
linux curl命令详解_curl详解
linux
扛枪的书生2 天前
Linux 网络管理器用法速查
linux
顺风尿一寸2 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
lichenyang4532 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4532 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4532 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4532 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
XIAOHEZIcode2 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫2 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux