ubuntu24.04安装docker

1、docker官网

Docker: Accelerated Container Application Developmenthttps://www.docker.com/

2、官网安装步骤

参考官网安装步骤:

我会把安装使用到的命令语句在下方展示

3、安装命令

以下都要通过终端命令操作

3.1、卸载老版本docker

为避免版本冲突,卸载之前版本docker,如果新装系统也可以运行此命令

arduino 复制代码
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

3.2、使用apt仓库安装

首次在新主机安装 Docker Engine 时,需要设置docker apt存储库,之后在存储库安装和更新docker

依次运行以下命令

3.2.1、添加docker官方GPG秘钥

sql 复制代码
sudo apt-get update
arduino 复制代码
sudo apt-get install ca-certificates curl
bash 复制代码
sudo install -m 0755 -d /etc/apt/keyrings
bash 复制代码
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
bash 复制代码
sudo chmod a+r /etc/apt/keyrings/docker.asc

3.2.2、将仓库添加到apt源

bash 复制代码
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sql 复制代码
sudo apt-get update

3.2.3、安装docker包

建议安装最新版本

​编辑

arduino 复制代码
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3.2.4、通过运行hello-word镜像来验证安装是否成功

arduino 复制代码
sudo docker run hello-world

出现Hello from Docker! 即安装成功

查看docker版本号:

复制代码
sudo docker version

4、安装时问题解决

4.1、docker无法安装

使用root用户运行以下命令一键安装(亲测有效)

大佬封装脚本,按自己需要选择

详情参考:linuxmirrors.cn/

less 复制代码
bash <(curl -sSL https://linuxmirrors.cn/main.sh)

4.2、无法拉取hello-word镜像

网络问题,科学上网或更换镜像源

以下提供更换镜像源方法:

bash 复制代码
sudo nano /etc/docker/daemon.json

把代码粘贴进去保存退出

json 复制代码
{

"registry-mirrors": [

"https://do.nark.eu.org",

"https://dc.j8.work",

"https://docker.m.daocloud.io",

"https://dockerproxy.com",

"https://docker.mirrors.ustc.edu.cn",

"https://docker.nju.edu.cn"

]

}

依次执行以下命令

复制代码
sudo systemctl daemon-reload

sudo systemctl restart docker
arduino 复制代码
sudo docker run hello-world

应该就可以成功

其他问题没遇到,道友可以发出交流

5、将当前用户添加到 docker 用户组

目的是取消每次在使用docker命令时前面需要加sudo

添加当前用户到 docker 组

bash 复制代码
sudo usermod -aG docker $USER

立即生效(无需重新登录)

复制代码
newgrp docker

验证 应显示包含 "docker" 组

bash 复制代码
groups

之后执行docker命令看看是否成功

css 复制代码
docker ps -a

6、启动Portainer镜像

Portainer 是 docker 的轻量级 UI 管理器,可用于管理不同的 docker 环境,例如 docker 主机或 docker swarm 集群。 Portainer 在单个容器中运行并支持任何 Docker 引擎,包括 Linux 容器或 Windows 原生容器和其他平台。 它可以轻松管理我们所有的 Docker 资源,例如容器、镜像、卷、网络等。

详情参考:Install Portainer BE with Docker on Linux | Portainer Documentationhttps://docs.portainer.io/start/install/server/docker/linux

首先,创建 Portainer Server 将用于存储其数据库的卷:

lua 复制代码
docker volume create portainer_data

然后,下载并安装 Portainer Server 容器:

javascript 复制代码
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:lts

可以通过运行 来检查 Portainer Server 容器是否已启动:

复制代码
docker ps
bash 复制代码
CONTAINER ID   IMAGE                          COMMAND                  CREATED       STATUS      PORTS                                                                                  NAMES             
de5b28eb2fa9   portainer/portainer-ee:lts     "/portainer"             2 weeks ago   Up 9 days   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp   portainer

浏览器访问:如果您之前更改了端口,请调整端口
https://localhost:9443

初始化设置:

开始快乐的使用吧!!!

7、docker compose的使用

查看docker compose版本号:

复制代码
docker compose version

以下我们通过docker compose部署一款开源系统。

7.1、homebox简介

sysadminsmedia/homebox是一个专为家庭用户设计的自托管库存管理系统,旨在帮助用户轻松跟踪和管理家中的所有设备。

建立文件夹homebox

在homebox 建立docker-compose.yml文件

7.2、编写docker-compose.yml

ini 复制代码
version: "3"
services:  
    homebox:    
        image: ghcr.io/sysadminsmedia/homebox:latest    
        container_name: homebox    
        restart: always    
        environment:     
            - HBOX_LOG_LEVEL=info      
            - HBOX_LOG_FORMAT=text      
            - HBOX_WEB_MAX_UPLOAD_SIZE=10	  
            - HBOX_OPTIONS_ALLOW_ANALYTICS=false    
        volumes:      
            - /share/Container/homebox-data:/data/    
        ports:      
            - 3100:7745

进入homebox文件运行以下命令启动服务:

复制代码
docker compose up -d

服务启动后,在浏览器访问http://IP:3100即可。

7.3、docker compose和docker-compose区别

Docker Compose 新旧版本(V1 docker-compose 与 V2 docker compose

1. 本质区别

  • 旧版 (V1) :独立的 Python 工具(docker-compose 命令),需单独安装,依赖 Python 环境。
  • 新版 (V2) :Docker 官方内置的 Go 语言插件(docker compose 命令),无需额外依赖,性能更高。

2. 关键改进

  • 性能:新版启动速度更快,资源占用更低,尤其适合复杂项目。
  • 功能:新增多平台构建(ARM/AMD)、GPU 支持、服务分组(Profiles)等特性。
  • 兼容性 :完全兼容旧版配置文件,同时支持扩展字段(如 x-* 自定义配置)。

3. 使用变化

  • 命令格式 :从带横线的 docker-compose 变为子命令 docker compose
  • 环境管理 :新版需显式指定环境变量文件(--env-file),更清晰但稍繁琐。
  • 云集成:深度适配 Docker Desktop 和云服务(如 AWS ECS)。

4. 迁移建议

  • 新项目:直接使用新版,享受更好的性能和功能。
  • 旧项目:可逐步替换命令,配置文件通常无需修改。
  • 生产环境 :推荐 V2 + Compose 文件 v3.8+ 版本,搭配 profiles 等新特性优化部署。

5. 注意点

  • 旧版已停止维护,未来功能更新仅限新版。
  • 新版对 Windows 路径和网络驱动的支持更友好。

相关推荐
wydd99_lll1 天前
docker特权模式下逃逸
运维·docker·容器
mseaspring1 天前
一款用于监控跨多台主机 Docker 容器的实时终端
运维·docker·容器
SPC的存折1 天前
6、Docker常用配置
运维·docker·容器
图图玩ai1 天前
SSH 命令管理工具怎么选?从命令收藏到批量执行一次讲清
linux·nginx·docker·ai·程序员·ssh·可视化·gmssh·批量命令执行
SPC的存折1 天前
4、Docker私有仓库
运维·docker·容器
齐潇宇1 天前
Docker概述与安装
linux·运维·docker·容器
亚空间仓鼠1 天前
Docker 容器技术入门与实践 (二):Dockerfile文件
运维·docker·容器
亚空间仓鼠1 天前
Docker 容器技术入门与实践 (一):命令与镜像、容器管理
运维·docker·容器
东北甜妹1 天前
Docker 多阶段构建
运维·docker·容器
Zhu7581 天前
【软件部署】docker环境部署nagios
运维·docker·容器