Docker 环境安装(2025最新版)

Docker在主流的操作系统和云平台上都可以使用,包括Linux操作 系统(如Ubuntu、
Debian、Rocky、Redhat等)、MacOS操作系统和 Windows操作系统,以及AWS等云平
台。
Docker官网: https://docs.docker.com/
配置宿主机网卡转发

1.1Windows安装 

打开浏览器,输入 https://www.docker.com/ 后就可以打开 docker 官网。
点击上图中“Download Docker Desktop” 按钮,然后选择对应系统进行下载,以
Windows 为例,选择 Download for Windows - AMD64 进行下载。下载好后,双击下载
文件就可以开始安装,如下图所示。
安装完成后点击“Close and log out”按钮,如下图所示。
点击后系统会注销后重新登录,并启动如下界面。
点击“Accept”按钮接收,会进入如下图所示界面。
点击“Continue without signing in”进入启动软件
然后点击右上角的“Skip”跳过就进入 Docker Distop 界面了。
考虑到很多小伙伴使用的是Linux系统,我们接下来介绍Linux安装docker

1.2 Linux 安装

1.2.1 Ubuntu

官方安装方法

https://docs.docker.com/engine/install/ubuntu/

# 1 、运行以下命令来卸载所有冲突的包
for pkg in docker.io docker-doc docker-compose docker-compose-v2
podman-docker containerd runc; do sudo apt-get remove $pkg ; done
# 2 、设置 Docker apt 存储库
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o
/etc/apt/keyrings/docker.asc
sudo chmod a + r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
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
sudo apt-get update
# 3 、要安装最新版本
sudo apt-get install docker-ce docker-ce-cli containerd.io docker
buildx-plugin docker-compose-plugin
官方卸载 
# 1. 卸载引擎
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker
buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# 2. 删除镜像,容器和数据卷
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
# 3. 删除认证
sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.asc
阿里云安装

https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.57e31b11Kp75GW

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
# step 2: 信任 Docker GPG 公钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg |
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a + r /etc/apt/keyrings/docker.gpg
# Step 3: 写入软件源信息
echo \
"deb [arch= $(dpkg --print-architecture) signed
by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker
ce/linux/ubuntu \
" $(. /etc/os-release && echo " $VERSION_CODENAME ") " stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Step 4: 安装 Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker
buildx-plugin docker-compose-plugin

倘若在 Linux里输入命令进行安装报错安装失败可进行离线安装。

离线安装

Docker 官网离线安装文档:https://docs.docker.com/engine/install/binaries/
官网下载 docker 安装包:https://download.docker.com/linux/ubuntu/dists/noble/poo
l/stable/amd64/
#1 、将下载的文件上传到服务器
docker-ce_28.0.1-1~ubuntu.24.04~noble_amd64.deb
docker-ce-cli_28.0.1-1~ubuntu.24.04~noble_amd64.deb
containerd.io_1.7.25-1_amd64.deb
docker-buildx-plugin_0.21.1-1~ubuntu.24.04~noble_amd64.deb
docker-compose-plugin_2.33.1-1~ubuntu.24.04~noble_amd64.deb
#2 、进行安装
sudo dpkg -i containerd.io_1.7.25-1_amd64.deb
sudo dpkg -i docker-ce-cli_28.0.1-1~ubuntu.24.04~noble_amd64.deb
sudo dpkg -i docker-ce_28.0.1-1~ubuntu.24.04~noble_amd64.deb
sudo dpkg -i docker-buildx-plugin_0.21.1-1~ubuntu.24.04~noble_amd64.deb
sudo dpkg -i docker-compose-plugin_2.33.1-1~ubuntu.24.04~noble_amd64.deb
#3 、查看是否安装成功
docker -v

 1.2.2 RHEL

首先在虚拟机中安装 Redhat 9.5 操作系统,安装好后,关闭防火墙和 Selinux 服务。
[root@localhost ~] # systemctl disable --now firewalld.service
[root@localhost ~] # sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

 然后配置本地仓库:

[root@localhost ~] # vim /etc/yum.repos.d/base.repo
# 在文件中添加如下内容
[baseOS]
name = baseos
baseurl = /mnt/BaseOS
gpgcheck = 0
[appstream]
name = appstream
baseurl = /mnt/AppStream
gpgcheck = 0

 配置好后,挂载镜像源。

官网安装方法

https://docs.docker.com/engine/install/rhel/

# 1. 删除旧版本
[root@localhost ~] # sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
runc
# 2. 安装仓库
[root@localhost ~] # dnf -y install dnf-plugins-core
[root@localhost ~] # dnf config-manager --add-repo
https://download.docker.com/linux/rhel/docker-ce.repo
# 3. 安装 docker-ce 引擎
[root@localhost ~] # dnf install docker-ce docker-ce-cli containerd.io
docker-buildx-plugin docker-compose-plugin
# 4. 运行 docker 引擎
[root@localhost ~] # systemctl enable --now docker
官方卸载
#1. 卸载引擎
sudo dnf remove docker-ce docker-ce-cli containerd.io docker-buildx
plugin docker-compose-plugin docker-ce-rootless-extras
# 2. 删除镜像,容器和数据卷
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
 清华镜像安装方法

https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/rhel/

# step 1: 安装必要的一些系统工具
[root@localhost ~] # yum install -y yum-utils
# Step 2: 添加软件源信息
[root@localhost ~] # yum-config-manager --add-repo
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/rhel/docker
ce.repo
# Step 3: 安装 Docker
[root@localhost ~] # yum install docker-ce docker-ce-cli containerd.io
docker-buildx-plugin docker-compose-plugin
# Step 4: 开启 Docker 服务
[root@localhost ~] # systemctl enable --now docker

 理同,倘若在 Linux里输入命令进行安装报错安装失败可进行离线安装。

离线安装

下载地址:https://download.docker.com/linux/rhel/9/x86_64/stable/Packages/

#1 、将下载的文件上传到服务器
containerd.io-1.7.25-3.1.el9.x86_64.rpm
docker-ce-28.0.1-1.el9.x86_64.rpm
docker-ce-cli-28.0.1-1.el9.x86_64.rpm
docker-buildx-plugin-0.21.1-1.el9.x86_64.rpm
docker-compose-plugin-2.33.1-1.el9.x86_64.rpm
#2 、进行安装
sudo dnf install ./containerd.io-1.7.25-3.1.el9.x86_64.rpm \
./docker-ce-28.0.1-1.el9.x86_64.rpm \
./docker-ce-cli-28.0.1-1.el9.x86_64.rpm \
./docker-buildx-plugin-0.21.1-1.el9.x86_64.rpm \
./docker-compose-plugin-2.33.1-1.el9.x86_64.rpm
# 或者
rpm -ivh --nodeps --force ./*.rpm
#3 、启动引擎
sudo systemctl enable --now docker
#4 、查看是否安装成功
docker -v

 1.2.3 脚本安装

[root@localhost ~] # curl -fsSL https://get.docker.com -o get-docker.sh
# 清理旧版本
[root@localhost ~] # sh get-docker.sh --dry-run
# 安装新版本
[root@localhost ~] # sh get-docker.sh
Executing docker install script, commit:
7cae5f8b0decc17d6571f9f52eb840fbc13b2737
<...>
[root@localhost ~] # docker version

1.2.4 配置镜像加速 

2025 年开始,各大厂商都不支持 docker 镜像拉取,需要找别外的加速器。
1. 配置 Docker 镜像加速
vim /etc/docker/daemon.json
{
        "registry-mirrors": [
            "https://docker.1ms.run",
            "https://func.ink",
            "https://proxy.1panel.live",
            "https://docker-0.unsee.tech",
            "https://docker.zhai.cm",
            "https://a.ussh.net",
            "https://docker.1ms.run",
            "https://docker.melikeme.cn",
            "https://lispy.org",
            "https://docker.hlmirror.com",
            "https://docker.1panel.live",
            "https://docker.xiaogenban1993.com",
            "https://docker.1panel.top",
            "https://docker.kejilion.pro",
            "https://dockerpull.cn",
            "https://docker.xuanyuan.me",
            "https://docker.anye.in",
            "https://hub.fast360.xyz"
        ]
}

2. 重启 Docker 服务 

sudo systemctl daemon-reload
sudo systemctl restart docker

 3. 查看是否生效

docker info | grep "Registry Mirrors" -A 5

下一期将docker的 基本操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/905314.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/905314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java并发编程-线程池(二)

文章目录 线程池的实现原理execute(Runnable command)**1. 阶段一&#xff1a;尝试创建核心线程****2. 阶段二&#xff1a;尝试将任务加入队列****3. 阶段三&#xff1a;尝试创建非核心线程或拒绝任务****关键机制与设计思想** 线程池的实现原理 当向线程池提交一个任务之后&a…

清华大学开源软件镜像站地址

清华大学开源软件镜像站&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/

脑机接口技术:开启人类与机器融合的新时代

摘要 脑机接口&#xff08;BCI&#xff09;技术作为一项前沿科技&#xff0c;正在逐步打破人类与机器之间的沟通障碍&#xff0c;为医疗、娱乐、教育等多个领域带来前所未有的变革。本文将详细介绍脑机接口技术的基本原理、发展现状、应用场景以及面临的挑战和未来发展趋势&…

2025前端面试遇到的问题(vue+uniapp+js+css)

Vue相关面试题 vue2和vue3的区别 一、核心架构差异 特性Vue2Vue3响应式系统基于Object.defineProperty基于Proxy&#xff08;支持动态新增/删除属性&#xff09;代码组织方式Options API&#xff08;data/methods分块&#xff09;Composition API&#xff08;逻辑按功能聚合&am…

Matlab基于SSA-MVMD麻雀算法优化多元变分模态分解

Matlab基于SSA-MVMD麻雀算法优化多元变分模态分解 目录 Matlab基于SSA-MVMD麻雀算法优化多元变分模态分解效果一览基本介绍程序设计参考资料效果一览 基本介绍 Matlab基于SSA-MVMD麻雀算法优化多元变分模态分解 可直接运行 分解效果好 适合作为创新点(Matlab完整源码和数据),…

Gatsby知识框架

一、Gatsby 基础概念 1. 核心特性 基于React的静态站点生成器&#xff1a;使用React构建&#xff0c;输出静态HTML/CSS/JS GraphQL数据层&#xff1a;统一的数据查询接口 丰富的插件系统&#xff1a;超过2000个官方和社区插件 高性能优化&#xff1a;自动代码分割、预加载、…

【论信息系统项目的资源管理】

论信息系统项目的资源管理 前言一、规划好资源管理&#xff0c;为保证项目完成做好人员规划二、估算活动资源&#xff0c;为制订项目进度计划提供资源需求三、获取项目资源&#xff0c;组建一个完备的项目团队四、建设项目团队&#xff0c;提高工作能力&#xff0c;促进团队成员…

idea Maven 打包SpringBoot可执行的jar包

背景&#xff1a;当我们需要坐联调测试的时候&#xff0c;需要对接前端同事&#xff0c;则需要打包成jar包直接运行启动服务 需要将项目中的pom文件增加如下代码配置&#xff1a; <build><plugins><plugin><groupId>org.springframework.boot</gr…

VScode 的插件本地更改后怎么生效

首先 vscode 的插件安装地址为 C:\Users\%USERNAME%\.vscode\extensions 找到你的插件包进行更改 想要打印日志&#xff0c;用下面方法 vscode.window.showErrorMessage(console.log "${name}" exists.); 打印结果 找到插件&#xff0c;点击卸载 然后点击重新启动 …

Python训练营打卡——DAY24(2025.5.13)

目录 一、元组 1. 通俗解释 2. 元组的特点 3. 元组的创建 4. 元组的常见用法 二、可迭代对象 1. 定义 2. 示例 3. 通俗解释 三、OS 模块 1. 通俗解释 2. 目录树 四、作业 1. 准备工作 2. 实战代码示例​ 3. 重要概念解析 一、元组 是什么​​&#xff1a;一种…

初入OpenCV

OpenCV简介 OpenCV是一个开源的跨平台计算机视觉库&#xff0c;它实现了图像处理和计算机视觉方面的很多通用算法。 应用场景&#xff1a; 目标识别&#xff1a;人脸、车辆、车牌、动物&#xff1b; 自动驾驶&#xff1b;医学影像分析&#xff1b; 视频内容理解分析&#xff…

讯联云库项目开发日志(一)

1、设计数据库 2、写基本框架 entity、controller、service、exception、utils、mapper mapper层&#xff1a; 生成了一系列的CRUD方法 工具类&#xff1a;线程安全的日期工具类、 ​​参数校验工具类​ 线程安全的日期工具类​​&#xff1a;主要用于 ​​日期格式化&…

langchain学习

无门槛免费申请OpenAI ChatGPT API搭建自己的ChatGPT聊天工具 https://nuowa.net/872 基本概念 LangChain 能解决大模型的两个痛点&#xff0c;包括模型接口复杂、输入长度受限离不开自己精心设计的模块。根据LangChain 的最新文档&#xff0c;目前在 LangChain 中一共有六大…

Protobuf工具

#region 知识点一 什么是 Protobuf //Protobuf 全称是 protocol - buffers&#xff08;协议缓冲区&#xff09; // 是谷歌提供给开发者的一个开源的协议生成工具 // 它的主要工作原理和我们之前做的自定义协议工具类似 // 只不过它更加的完善&…

zst-2001 上午题-历年真题 软件工程(38个内容)

CMM 软件工程 - 第1题 b 软件工程 - 第2题 c 软件工程 - 第3题 c 软件工程 - 第4题 b 软件工程 - 第5题 b CMMI 软件工程 - 第6题 0.未完成&#xff1a;未执行未得到目标。1.已执行&#xff1a;输入-输出实现支持2.已管理&#xff1a;过程制度化&#x…

软考架构师考试-UML图总结

考点 选择题 2-4分 案例分析0~1题和面向对象结合考察&#xff0c;前几年固定一题。近3次考试没有出现。但还是有可能考。 UML图概述 1.用例图&#xff1a;描述系统功能需求和用户&#xff08;参与者&#xff09;与系统之间的交互关系&#xff0c;聚焦于“做什么”。 2.类图&…

数据结构(七)——图

一、图的定义与基本术语 1.图的定义 图G由顶点集V和边集E组成&#xff0c;记为G(V,E)&#xff0c;其中V(G)表示图G中顶点的有限非空集&#xff1b;E(G)表示图G中顶点之间的关系&#xff08;边&#xff09;的集合 注意&#xff1a;线性表可以是空表&#xff0c;树可以是空树&…

Android7 Input(六)InputChannel

概述: 本文讲述Android Input输入框架中 InputChannel的功能。从前面的讲述&#xff0c;我们知道input系统服务最终将输入事件写入了InputChannel&#xff0c;而input属于system_server进程&#xff0c;App属于另外一个进程&#xff0c;当Input系统服务想要把事件传递给App进行…

【 Redis | 实战篇 秒杀实现 】

目录 前言&#xff1a; 1.全局ID生成器 2.秒杀优惠券 2.1.秒杀优惠券的基本实现 2.2.超卖问题 2.3.解决超卖问题的方案 2.4.基于乐观锁来解决超卖问题 3.秒杀一人一单 3.1.秒杀一人一单的基本实现 3.2.单机模式下的线程安全问题 3.3.集群模式下的线程安全问题 前言&…

如何用URDF文件构建机械手模型并与MoveIt集成

机械手URDF文件的编写 我们用urdf文件来描述我们的机械手的外观以及物理性能。这里为了简便&#xff0c;就只用了基本的圆柱、立方体了。追求美观的朋友&#xff0c;还可以用dae文件来描述机械手的外形。 import re def remove_comments(text):pattern r<!--(.*?)-->…