Linux安装Docker全过程

 更新时间:2025年09月18日 09:48:32   作者:张小九99  
Docker是容器化平台,实现应用环境一致性和高效部署,安装步骤包括配置仓库、安装引擎、启动服务并设置开机自启,更换国内镜像源可提升下载速度,通过编辑配置文件并重启服务完成

一、Docker介绍

1、Docker简介

Docker 是一种开源的容器化平台,用于开发、运维和部署应用程序。Docker 允许你将应用程序及其依赖项封装到一个标准化的容器中,并能确保在任何环境下都能一致地运行。容器是一种轻量级、可移植的虚拟化技术,它比传统的虚拟机更高效。

2、Docker 的主要功能和作用

(1)容器化:Docker 可以将应用程序及其所有依赖项(如库、文件、环境变量)打包成一个容器,这样可以确保应用在任何地方都能一致地运行,无论是在开发环境、测试环境,还是生产环境;

(2)跨平台兼容性:Docker 容器可以在不同操作系统和云平台上运行,从本地开发机器到生产服务器,再到云环境都能保持一致性;

(3)资源隔离:每个 Docker 容器都是独立的、隔离的,具有自己的文件系统、网络和进程空间,这样可以在同一台机器上运行多个容器而不会发生冲突;

(4)简化开发和运维:Docker 帮助开发者简化应用的开发、测试、部署过程,容器化的应用能够更方便地在不同环境中迁移和扩展。 对运维人员来说,Docker 提供了一种标准化的部署方式,使得管理和监控变得更加容易。

(5)镜像和容器管理:Docker 使用镜像来创建容器。镜像是包含应用程序及其依赖项的文件,Docker Hub 等容器仓库提供了大量公共镜像,用户也可以构建自定义镜像。 可以拉取(docker pull)、构建(docker build)、推送(docker push)镜像,快速实现应用程序的部署。

二、Docker安装

注意:本文以CenOS的Rocky Linux操作系统为例进行安装。

1、安装Docker仓库

Rocky Linux 使用 dnf 作为包管理工具。你可以通过安装 Docker 的官方仓库来获取最新版本的 Docker,因为 Rocky Linux 是 CentOS 的一个分支,所以配置CentOS的仓库;

sudo dnf install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2、安装Docker

运行以下命令安装Docker引擎;

sudo dnf install -y docker-ce docker-ce-cli containerd.io

执行上述指令的时候可能会报错,存在一些软件包冲突和依赖问题,如下图:

解决方案:尝试通过 --allowerasing 参数来允许安装 Docker 时自动替换冲突的软件包。这可能会卸载某些不兼容的包,并安装与 Docker 兼容的版本。

sudo dnf install -y docker-ce docker-ce-cli containerd.io --allowerasing

显示一下信息,说明安装成功:

3、启动Docker服务并设置开机自启动

安装完成后,启动 Docker 服务并设置开机自启;

# 启动Docker服务
sudo systemctl start docker
# 设置Docker开机自启
sudo systemctl enable docker

4、验证安装

(1)确认 Docker 已正确安装并正在运行,下图可以看到Docker的运行情况;

sudo systemctl status docker

 (2)执行该命令可以查看Docker的版本信息,如下图所示:

sudo docker version

(3)为了确保 Docker 正常工作,可以执行以下命令测试是否能运行 Docker 容器:

sudo docker run hello-world

安装成功,大功告成!

5、允许普通用户使用Docker (可选)

安装 Docker 后,默认情况下,只有 root 用户 或者有 sudo 权限的用户才能访问 Docker 服务和执行 Docker 命令(如 docker pull、docker run 等)。这主要是因为 Docker 需要与系统的低级资源进行交互(例如网络、文件系统等),这涉及到较高的权限。如果其他普通用户也需要使用 Docker,可以通过以下两种方式之一实现:

(1)将用户添加到 Docker 组:Docker 创建了一个名为 docker 的用户组,任何加入此组的用户都可以运行 Docker 命令,而无需使用 sudo。你可以使用以下命令将某个用户添加到 Docker 组;

sudo usermod -aG docker username

添加用户后,通常需要让用户退出并重新登录,或者执行 newgrp docker 以立即生效;

注意:你可以用以下两种方式来确认用户是否已经成功加入了 docker

# 这里的username替换成你要查询的用户名称
groups username        # 输出:username : username wheel docker

id username            # 输出:uid=1007(username) gid=1007(username) groups=1007(username),10(wheel),973(docker)

(2)或者给普通用户使用 sudo 权限运行 Docker:为普通用户配置 sudo 权限,使其能够以 root 权限执行 Docker 命令,但这种方式可能较为繁琐且没有像加入 Docker 组那么简便,推荐使用第一种;

三、更换Docker镜像源

如果 Docker 下载镜像速度较慢,你可以更换国内的镜像源以加速下载。更换镜像源的过程包括配置 Docker 使用国内镜像仓库,这样可以显著提高镜像的下载速度。

1、编辑 Docker 配置文件

sudo vi /etc/docker/daemon.json

2、添加镜像源配置

{
  "registry-mirrors": [
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
  ]
}

3、重启Docker服务器

修改配置文件后,重启 Docker 服务使其生效:

# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 重启 Docker 服务
sudo systemctl restart docker

4、查看Docker配置

运行下列命令确认镜像源是否配置成功

sudo docker info

输出上述信息说明Docker源更换成功!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 理解Docker(2):Docker 镜像详细介绍

    理解Docker(2):Docker 镜像详细介绍

    这篇文章主要介绍了理解Docker(2):Docker 镜像详细介绍, 镜像(image)是动态的容器的静态表,有需要的可以了解下。
    2016-11-11
  • Docker快速部署SpringBoot项目介绍

    Docker快速部署SpringBoot项目介绍

    大家好,本篇文章主要讲的是Docker快速部署SpringBoot项目介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • 使用Docker容器部署MongoDB并支持远程访问及遇到的坑

    使用Docker容器部署MongoDB并支持远程访问及遇到的坑

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,今天通过本文给大家介绍使用Docker容器部署MongoDB并支持远程访问及遇到的坑,感兴趣的朋友一起看看吧
    2022-07-07
  • Docker命令行输出格式化完全指南

    Docker命令行输出格式化完全指南

    在Docker中大多数的输出命令都支持--format 选项,用于控制输出,下面这篇文章主要给大家介绍了关于Docker命令行输出格式化的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • Mac下部署springBoot项目到Docker中(demo)

    Mac下部署springBoot项目到Docker中(demo)

    本文通过一个简单的demo给大家分享Mac下部署springBoot项目到Docker的方法,感兴趣的朋友一起看看吧
    2018-01-01
  • 在Docker中安装Oracle数据库超详细步骤

    在Docker中安装Oracle数据库超详细步骤

    oracle作为全球最强大的关系型数据库,应用在各行各业,下面这篇文章主要给大家介绍了关于在Docker中安装Oracle数据库的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Docker容器通过独立IP暴露给局域网的方法

    Docker容器通过独立IP暴露给局域网的方法

    这篇文章主要介绍了Docker容器通过独立IP暴露给局域网的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-04-04
  • Google和Facebook不使用Docker的原理解析

    Google和Facebook不使用Docker的原理解析

    这篇文章主要介绍了Google和Facebook不使用Docker的原理解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • docker mysql关于配置文件、连接客户端、/docker-entrypoint-initdb.d/目录的使用

    docker mysql关于配置文件、连接客户端、/docker-entrypoint-initdb.d/目录的使用

    这篇文章主要介绍了docker mysql关于配置文件、连接客户端、/docker-entrypoint-initdb.d/目录的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 详解docker pull下来的镜像存储在哪里

    详解docker pull下来的镜像存储在哪里

    这篇文章主要介绍了详解docker pull下来的镜像存储在哪里,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论