Docker在CentOS上的安装与配置

devtools/2024/11/8 6:53:22/

前言

随着云计算和微服务架构的兴起,Docker作为一种轻量级的容器技术,已经成为现代软件开发和运维中的重要工具。本文旨在为初学者提供一份详尽的指南,帮助他们在CentOS系统上安装和配置Docker及相关组件,如Docker Compose和私有Docker镜像仓库。

1. 准备工作

在开始安装之前,请确保您的CentOS系统满足以下条件:

  • 操作系统版本:CentOS 7 或更高版本,64位系统。
  • 内核版本:至少为3.10。
  • 网络连接:确保虚拟机能够连接到互联网,因为安装过程中需要从远程仓库下载软件包。
1.1 卸载旧版本Docker(可选)

如果您之前安装过Docker,建议先卸载旧版本以避免冲突。执行以下命令卸载旧版本的Docker:

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce
2. 安装Docker

接下来,我们将逐步安装最新的Docker CE(社区版)。

2.1 检查网络连接

确保您的虚拟机能够访问互联网:

ping 163.com

如果能够收到回复,说明网络连接正常。

2.2 安装必要的依赖

安装一些必要的工具和依赖包:

sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2 --skip-broken
2.3 添加Docker的官方仓库

使用阿里云的镜像源来加快下载速度:

sudo yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.4 更新本地镜像源并安装Docker

更新本地镜像源并安装Docker CE:

sudo yum makecache fast
sudo yum install -y docker-ce

安装完成后,您可以使用以下命令检查Docker的版本:

docker -v

输出示例:

Docker version 20.10.7, build f0df3c0
3. 启动Docker服务

在启动Docker服务之前,建议关闭防火墙以避免端口冲突的问题。

3.1 关闭防火墙
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl status firewalld
3.2 启动Docker服务

启动Docker服务:

sudo systemctl start docker

您可以使用以下命令检查Docker服务的状态:

sudo systemctl status docker

输出示例:

docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)Active: active (running) since Wed 2024-11-06 20:22:00 CST; 1min 30s ago
4. 配置Docker镜像加速

为了提高镜像下载速度,推荐使用国内的镜像加速器。

4.1 创建或编辑配置文件

创建或编辑 /etc/docker/daemon.json 文件:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn"]
}
EOF
4.2 重新加载Docker守护进程配置

重新加载Docker守护进程配置并重启Docker服务:

sudo systemctl daemon-reload
sudo systemctl restart docker
5. 安装Docker Compose

Docker Compose允许您在一个YAML文件中定义多个容器的应用场景,非常适合开发环境的构建。

5.1 下载Docker Compose

下载最新版本的Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
5.2 修改文件权限

修改文件权限以使其可执行:

sudo chmod +x /usr/local/bin/docker-compose
5.3 验证安装

验证Docker Compose是否安装成功:

docker-compose --version

输出示例:

docker-compose version 1.29.2, build 5becea4c
5.4 启用命令补全(可选)

为了方便使用,您可以启用Docker Compose的命令补全功能:

sudo curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

如果遇到网络问题导致下载失败,可以尝试手动下载文件并通过SCP等方式上传至服务器。

6. 搭建私有Docker镜像仓库

搭建私有镜像仓库可以帮助团队更好地管理和分发自定义的Docker镜像。

6.1 简化版镜像仓库

使用官方的Docker Registry镜像来启动一个简单的私有仓库:

  1. 创建一个数据目录(可选):

    mkdir -p ~/docker-registry
    cd ~/docker-registry
    
  2. 运行Docker Registry容器

    sudo docker run -d \--restart=always \--name registry \-p 5000:5000 \-v $(pwd)/registry-data:/var/lib/registry \registry
    
  3. 访问私有仓库:

    打开浏览器并访问 http://<your-ip>:5000/v2/_catalog 查看当前私有镜像服务中包含的镜像。

6.2 带有图形界面的镜像仓库

如果您需要更友好的界面操作,可以使用第三方的UI工具,例如 joxit/docker-registry-ui

  1. 创建一个 docker-compose.yml 文件:

    nano docker-compose.yml
    
  2. 编辑文件,添加以下内容:

    version: '3.0'
    services:registry:image: registryvolumes:- ./registry-data:/var/lib/registryui:image: joxit/docker-registry-ui:staticports:- 8080:80environment:- REGISTRY_TITLE=您的仓库名称- REGISTRY_URL=http://registry:5000depends_on:- registry
    
  3. 启动服务:

    sudo docker-compose up -d
    
  4. 访问图形化界面:

    打开浏览器并访问 http://<your-ip>:8080 查看图形化的管理界面。

6.3 配置Docker信任私有仓库

为了让Docker客户端信任您的私有仓库,需要编辑 /etc/docker/daemon.json 文件,添加私有仓库的地址:

  1. 编辑配置文件:

    sudo vi /etc/docker/daemon.json
    
  2. 添加以下内容,替换 <your-ip> 为您的服务器IP地址:

    {"insecure-registries": ["<your-ip>:5000"]
    }
    
  3. 重新加载Docker守护进程配置并重启Docker服务:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
总结

通过以上步骤,您已经在CentOS系统上成功安装并配置了Docker及其相关组件。

教程文档PDF版(蓝奏云下载地址)直接下载永久保存,不限速,方便随时查阅
资源预览:
在这里插入图片描述


http://www.ppmy.cn/devtools/132236.html

相关文章

爬虫技术——小白入狱案例

知孤云出岫 目录 1. 案例概述2. 案例需求分析3. 实现步骤Step 1: 环境准备Step 2: 分析百度图片URL请求规律Step 3: 编写爬虫代码代码解析 4. 运行代码5. 注意事项6. 案例总结 要实现大批量爬取百度图片&#xff0c;可以使用Python编写一个网络爬虫&#xff0c;通过发送HTTP请求…

CSS Grid 布局在 IE 中不兼容的原因与解决方案

CSS Grid 布局在 IE 中不兼容的原因与解决方案 文章目录 CSS Grid 布局在 IE 中不兼容的原因与解决方案1. 引言2. CSS Grid 布局概述2.1 什么是CSS Grid布局&#xff1f;2.2 CSS Grid 与传统布局方法的区别 3. IE 对 CSS Grid 的支持情况3.1 IE11 对 CSS Grid 的支持3.2 其他IE…

大众汽车合肥社招入职笔试测评SHL题库:综合能力、性格问卷、英语口语真题考什么?

大众汽车合肥社招入职笔试测评包括综合能力测试、性格问卷和英语口语测试。以下是各部分的具体内容&#xff1a; 1. **综合能力测试**&#xff1a; - 这部分测试需要46分钟完成&#xff0c;建议准备计算器和纸笔。 - 测试内容涉及问题解决能力、数值计算能力和逻辑推理能力。 -…

Matplotlib 绘图艺术:从新手到高手的全面指南

引言 在数据科学和机器学习领域&#xff0c;数据可视化是一项至关重要的技能。一个优秀的可视化图表可以直观地展示数据的内在规律&#xff0c;帮助我们更好地理解数据&#xff0c;并做出更明智的决策。而在众多的绘图库中&#xff0c;Matplotlib 是 Python 中最强大、最灵活的…

并查集算法详解

文章目录 并查集概念并查集的常见操作构建并查集合并并查集和查找 关于find函数 并查集概念 并查集&#xff08;Union-Find&#xff09;是一种树型的数据结构&#xff0c;用于处理一些不交集的合并及查询问题。其主要应用是判断两个元素是否在同一个集合中&#xff0c;以及合并…

mysql 聚合函数

在 MySQL 中&#xff0c;聚合函数是用于执行计算并返回单个值的函数。它们通常与 GROUP BY 语句一起使用&#xff0c;用于处理多行数据并返回一个值。一些常见的 MySQL 聚合函数包括 COUNT、SUM、AVG、MAX 和 MIN。 COUNT COUNT 函数用于计算某个列的行数。例如&#xff0c;要计…

数据库期末考试简答题

1&#xff0e;试述数据、数据库、数据库管理系统、数据库系统的概念。 答&#xff1a;&#xff08;1&#xff09;数据是数据库中存储的基本对象&#xff0c;是描述事物的符号记录。数据有多种表现形式&#xff0c;它们都可以经过数字化后存入计算机。数据的种类有数字、文字、…

Android手机连接蓝牙,蓝牙连接和断开时,app疑似闪退到桌面,进程并未杀死

最近做蓝牙连接&#xff0c;有一款蓝牙设备&#xff0c;用户反馈说连接就闪退&#xff0c;或者解绑就闪退&#xff0c;我看bugly&#xff0c;没有报闪退日志啊&#xff0c;然后自己试了一下&#xff0c;确实闪退&#xff0c;但是很奇怪的是&#xff0c;android studio进程并未杀…