Ubuntu安装docker和docker compose
方法一
在 Ubuntu 上安装 Docker 和 Docker Compose 是一个常见的操作。以下是基于最新稳定版本的详细步骤(适用于 Ubuntu 18.04 及以上版本,包括 20.04, 22.04, 24.04)。
第一步:安装 Docker
1. 更新系统包列表
bash
深色版本
sudo apt update2. 安装必要的依赖包
bash
深色版本
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release3. 添加 Docker 的官方 GPG 密钥
bash
深色版本
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg4. 添加 Docker 的 APT 软件源
bash
深色版本
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null注意:$(lsb_release -cs) 会自动获取你的 Ubuntu 版本代号(如 jammy, focal, noble 等)。5. 更新 APT 包索引
bash
深色版本
sudo apt update6. 安装 Docker Engine
bash
深色版本
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin这会安装 Docker 引擎、CLI、containerd 和官方插件(包括 docker-compose 插件)。7. 验证 Docker 是否安装成功
bash
深色版本
sudo docker --version输出应类似:
深色版本
Docker version 24.0.7, build afdd53b8. (可选)让当前用户无需 sudo 使用 Docker
bash
深色版本
sudo usermod -aG docker $USER注意:执行后需重新登录或重启终端,使用户组变更生效。
第二步:安装 Docker Compose(如果未通过插件安装)
从 Docker 20.10+ 开始,推荐使用 docker-compose-plugin,它允许你直接使用 docker compose 命令(注意中间是空格,不是短横线)。
✅ 推荐方式:使用插件(已安装)
bash
深色版本
docker compose version如果上一步已安装 docker-compose-plugin,你应该能看到版本信息。
使用方式:docker compose up,docker compose ps,docker compose down等。
❌ 传统方式(不推荐,仅作备选)
如果你需要独立的 docker-compose 二进制文件(旧方式):
bash
深色版本
# 下载最新版
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 验证
docker-compose --version注意:这种方式已逐渐被 docker compose 插件取代。第三步:启动并启用 Docker 服务
bash
深色版本
# 启动 Docker 服务
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker第四步:测试运行
bash
深色版本
docker run hello-world如果看到欢迎信息,说明安装成功。
常见问题
- 权限问题:确保用户已加入
docker组,并重新登录。 - 源错误:检查 Ubuntu 版本代号是否支持(如
noble是 24.04)。 - 网络问题:国内用户可考虑使用镜像源(如阿里云、中科大源)。
总结
| 工具 | 推荐命令 |
|---|---|
| Docker | docker --version |
| Docker Compose | docker compose version(注意是空格) |
✅ 建议使用docker compose(插件形式),而非旧的docker-compose(带短横线)。
如有特定版本需求,可指定安装版本,例如:
bash
深色版本
apt install docker-ce=5:24.0.7-1~ubuntu.22.04~jammy祝你安装顺利!
一些问题的解决办法
拉取错误的解决办法,类似如下错误
Unable to find image 'linuxserver/mariadb:latest' locally
docker: Error response from daemon: Head "https://registry-1.docker.io/v2/linuxserver/mariadb/manifests/latest": EOF.说明 Docker 无法从 Docker Hub 拉取镜像,根本原因是: 网络问题,你的路由器无法正常访问 registry-1.docker.io(Docker Hub)
解决方案:
步骤1,使用国内镜像加速器
添加 Docker 镜像加速器(如阿里云、网易、腾讯等)
# 编辑或创建 Docker 配置文件
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << 'EOF'
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://hub-mirror.c.163.com",
"https://reg-mirror.qiniu.com"
],
"insecure-registries": [],
"max-concurrent-downloads": 3,
"data-root": "/var/lib/docker"
}
EOF步骤2,确保 /var/lib/docker 目录存在
mkdir -p /var/lib/docker步骤3, 重启 Docker 服务
/etc/init.d/docker restart步骤4,检查状态
/etc/init.d/docker status如果看到 running,说明成功了!
步骤5,验证 Docker 是否正常
docker info你应该能看到:
Registry Mirrors:
https://mirror.ccs.tencentyun.com
https://hub-mirror.c.163.com
https://reg-mirror.qiniu.com说明镜像加速已生效
验证 daemon.json 是否合法
运行以下命令检查文件内容:
cat /etc/docker/daemon.json输出应该是:
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://hub-mirror.c.163.com",
"https://reg-mirror.qiniu.com"
],
"insecure-registries": [],
"max-concurrent-downloads": 3,
"compress": true,
"data-root": "/var/lib/docker"
}方法二
一键安装脚本
# 登录root
sudo -i
# 更新
apt update
# 升级
apt upgrade
# 按照工具curl和vim
apt install -y curl vim
# 官方脚本, 指定使用Aliyun加速, root权限执行
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 查看安装的docker版本
docker --version普通用户授权docker权限
# 注意登录用户身份
sudo usermod -aG docker $USER # 需要登出再重新登录才生效(实测需要重启生效)
# 没有生效前 id 与 id $USER 显示不一致
id $USER 或 cat /etc/group | grep docker # 查看
newgrp - docker # 更新用户组 很重要(临时生效)
docker ps # 测试docker命令是否可以使用sudo正常使用(可选)配置国内源
# 配置aliyun镜像加速
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.1ms.run", "https://docker.m.daocloud.io"]
}
EOF
systemctl daemon-reload
systemctl restart docker测试源是否能用
# 测试镜像拉取&容器运行
docker run hello-world安装docker compose
参见官方文档: https://docs.docker.com/compose/install/linux/#install-using-the-repository
针对linux平台, 仓库安装脚本如下
# Debian/Ubuntu
sudo apt-get update
sudo apt-get install docker-compose-plugin
# RPM
sudo yum update
sudo yum install docker-compose-plugin
# 验证
docker compose version
docker --version
docker info按照portainer管理工具
参考链接https://docs.portainer.io/start/install-ce/server/docker/linux
# 1. 拉取镜像
docker pull portainer/portainer-ce:latest
# 2.创建磁盘卷(可选)
docker volume create portainer_data
# 3. 创建容器
# 端口组合二选一即可, 粘贴代码前注意先删除 自#之后的注释, 避免格式问题
docker run -d --name portainer --restart=always \
-p 8000:8000 -p 9443:9443 \ # https使用, 仅使用http的话可以尝试注释掉
-p 9000:9000 \ # 使用传统的http端口
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data portainer/portainer-ce:latest汉化版本
作者地址:https://hub.docker.com/r/6053537/portainer-ce
docker volume create portainer_data
docker run -d --name portainer-zh --restart=always \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data 6053537/portainer-ce:latest以上摘抄至https://zoe.red/2024/174.html ,感谢大佬