当前位置: 首页 > news >正文

【Docker】在 CentOS 上安装 Docker 的完整指南

目录

  • 一、准备工作
  • 二、检查系统版本
  • 三、安装 Docker
    • 1. 依赖包安装
    • 2. 添加 Docker 仓库
    • 3. 安装 Docker
  • 四、启动与测试 Docker
    • 1. 启动 Docker 服务
    • 2. 验证 Docker 是否安装成功
    • 3. 运行 Hello World 容器
  • 五、设置 Docker 自动启动
  • 六、常用 Docker 命令
  • 七、卸载 Docker
  • 总结

Docker 是现代软件开发中不可或缺的工具,它提供了一种轻量级的虚拟化解决方案,帮助开发者更方便地打包、分发和管理应用程序。本文将详细介绍如何在 CentOS 系统上安装 Docker,包括必要的前期准备、安装步骤、配置自动启动、常用命令以及卸载方式。

一、准备工作

在安装 Docker 前,确保您的 CentOS 系统是最新的。您可以通过以下命令更新系统:

sudo yum update -y

二、检查系统版本

确认您的 CentOS 版本以确保兼容性:

cat /etc/os-release

三、安装 Docker

1. 依赖包安装

在安装 Docker 之前,先安装 yum-utils,这个工具可以帮助我们更好地管理软件包:

sudo yum install -y yum-utils

2. 添加 Docker 仓库

接下来,我们需要添加 Docker 的官方仓库,以便能够下载最新版本的 Docker:

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

3. 安装 Docker

现在可以安装 Docker 了。运行以下命令进行安装:

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

四、启动与测试 Docker

1. 启动 Docker 服务

安装完成后,启动 Docker 服务:

sudo systemctl start docker

2. 验证 Docker 是否安装成功

要检查 Docker 是否正常运行,可以执行以下命令:

sudo systemctl status docker

如果一切正常,您应该会看到 Docker 服务的状态为 active (running)

3. 运行 Hello World 容器

通过运行一个简单的 Docker 容器来验证安装是否成功:

sudo docker run hello-world

如果看到欢迎消息,说明 Docker 已经正确安装并可以使用。

五、设置 Docker 自动启动

为了让 Docker 在系统启动时自动启动,可以使用以下命令:

sudo systemctl enable docker

您可以运行以下命令来确认 Docker 服务已设置为自动启动:

sudo systemctl is-enabled docker

如果返回 enabled,则表示设置成功。

六、常用 Docker 命令

以下是一些常用的 Docker 命令,可以帮助您快速上手:

命令描述
sudo docker ps列出当前运行的容器
sudo docker images列出本地存储的所有镜像
sudo docker run [image]使用指定镜像创建并运行一个新容器
sudo docker stop [container]停止运行中的容器
sudo docker rm [container]删除一个容器
sudo docker rmi [image]删除一个镜像
sudo docker exec -it [container] /bin/bash进入运行中的容器并打开 bash shell

七、卸载 Docker

如果您需要完全卸载 Docker,可以使用以下命令:

sudo yum remove docker-ce docker-ce-cli containerd.io -y
sudo rm -rf /var/lib/docker

总结

通过以上步骤,您已经成功在 CentOS 上安装了 Docker,并配置了它在系统启动时自动启动。Docker 的强大功能使得应用的部署与管理变得更加高效与灵活。无论是开发环境还是生产环境,Docker 都能提供极大的便利。



http://www.mrgr.cn/news/35022.html

相关文章:

  • .NET 9中的record类型:不可变数据结构的介绍与应用场景分析
  • 【数据库】深入解析慢 SQL 的识别与优化策略
  • 华为云计算HCIE-Cloud Computing V3.0试验考试北京考场经验分享
  • Java面向对象编程进阶之包装类
  • CSS:导航栏三角箭头
  • 数据分析丨世界杯冠军猜想:EA 体育游戏模拟能成功预测吗?
  • python类的call方法与init方法
  • 搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(二)-索引
  • 嵌入式必备技能
  • AI推介-大语言模型LLMs之RAG(检索增强生成)论文速览(arXiv方向):2024.07.20-2024.08.15
  • 神经网络(二):卷积神经网络
  • visual studio 调试技巧
  • 如何进行“服务器内部错误”的诊断 | OceanBase诊断案例
  • 闰年判断-C语言
  • 使用Nginx反向代理为OneAPI配置https访问
  • LDRA Testbed(TBrun)软件单元测试_常见问题及处理
  • 紧急避坑 | MySQL 含有下划线的数据库名在特殊情况下导致权限丢失
  • 信息安全概论期末复习笔记
  • Java语言程序设计基础篇_编程练习题**18.38 (递归树)
  • JAVA开源项目 影城管理系统 计算机毕业设计
  • 【LeetCode面试150】——209单词规律
  • 【Python报错已解决】AttributeError: ‘Tensor‘ object has no attribute ‘kernel_size‘
  • 人生苦短,我用Python✌
  • markdown support in emacs
  • 【C++】容器适配器,stack,queue,priority_queue详解,模拟实现
  • 召回04 离散特征的处理