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

Docker在CentOS上的安装与配置

前言

随着云计算和微服务架构的兴起,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版(蓝奏云下载地址)直接下载永久保存,不限速,方便随时查阅
资源预览:
在这里插入图片描述

相关文章:

Docker在CentOS上的安装与配置

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

【笔记】开关电源变压器设计 - 工作磁通的选择原则

变压器设计中有一个重要的输入参数&#xff0c;是选定电路工作的磁路参数。涉及到磁场的上下震荡最高幅度。如上图所示。磁场的方向有正负&#xff0c;所以如果电流在越过零点震荡&#xff0c;只考虑半周来和Bs或者Bmax比对即可。Bs,Bmax与特定材料有关。材料给出的最大Bmax,或…...

【VScode】如何在VSCode中配置Python开发环境:从零开始的完整指南

文章目录 前言软件准备软件安装1. 安装Python2. 检查Python是否安装成功3. 安装第三方包4. 安装VSCode 配置VSCode1. 安装Python插件2. 创建项目&#xff0c;配置工作区域3. 编写Python文件4. 配置Python编译设置5. 使用代码格式化工具yapf 更多文章结尾 前言 在当今的编程世界…...

Copy From 勇哥的机器视觉实验项目

形成一种有规划的学习模式,节省时间提升效率。 (一) 单相机标定 (1)halcon的标定助手 这个助手是常用工具,要注意的主要问题是 "品质问题","标定的精度"。 使用的标定板有两种类型,多种材质。选择时要配合灯光来选择材质。 例如玻璃标定板只适合背…...

在IDEA中使用Git

一、准备工作 这里我们使用 Gitee 做例子&#xff0c;使用 SSH 协议。看这个文章前最好看一下《》这个文章&#xff0c;了解一下 SSH。 1、生成秘钥对 首先要到 ~/.ssh 目录下进行操作&#xff0c;因为生成的公钥和私钥一般放在这个目录下&#xff0c;Windows 就是在用户目…...

分布式锁(防止同时操作同一条数据)实现分析

1. deleteLocked 方法&#xff1a; public R deleteLocked(String id, String username) {String examReportUserKey "examReportId_" id "_" username;stringRedisTemplate.delete(examReportUserKey);return R.ok(); } 功能&#xff1a;删除指定用户…...

【已解决,含泪总结】Ubuntu18.04下非root用户Anaconda3卸载重装,conda install终于不再报错

为什么要卸载重装 因为我最初安装的Anaconda3的版本是5.2.0&#xff0c;适合python3.6.5&#xff0c;其下的conda版本是4.5.4 我一开始本着能用则用&#xff0c;毕竟不是很懂的原则&#xff0c;尽量不要卸掉重来 但。。。bug像滚雪球一样&#xff0c;越来越多 conda install指…...

大语言模型(LLM)量化基础知识(一)

请大家关注我的知乎博客&#xff1a;- 派神 - - 知乎 随着大型语言模型 (LLM) 的参数数量的增长,与其支持硬件&#xff08;加速器内存&#xff09;增长速度之间的差距越来越大&#xff0c;如下图所示&#xff1a; 上图显示&#xff0c;从 2017 年到 2022 年&#xff0c;语言模…...

hadoop面试题

一、单项选择题 1、目前&#xff0c;Hadoop的最高版本是哪个&#xff08; A &#xff09; A、Hadoop3.x B、Hadoop2.x C、Hadoop4.x D、Hadoop1.x 2、大数据的4V特征是指? &#xff08; B &#xff09; A、数据量大(Volume)、类型繁多(Variety)、价值密度低(Va…...

mysql 安装 windows

新版安装 新版本安装 如果出现initializing database无法安装 则用我当前版本传送门 如MySQL 安装时没有developer default 选项 解决方法传送门 如果上述还不行 可以选择full 汉化下载 传送门...

24下软考中级网络工程师考前必背22页

数据中心选址原则 1、地理位置&#xff1a;备选址地点发生自然灾害的概率和频率、环境危害因素以及气候因素 2、电力能源供应&#xff1a;可用性、成本因素 3、通讯基础设施&#xff1a;光纤主干线路及其距数据中心选址的距离、光纤类型、服务运营商的类型及其支持的服务模式…...

Java类和对象(下篇)

今天接着学习类和对象(苦笑)(苦笑)(苦笑) 1. 封装 1.1 封装的概念 面向对象程序三大特性&#xff1a;封装、继承、多态。 而类和对象阶段&#xff0c;主要研究的就是封装特性。 何为封装呢&#xff1f;简单来说就是套壳屏蔽细节。 举例&#xff1a;对于计算机使用者而言&am…...

k8s图形化显示(KRM)

在master节点 kubectl get po -n kube-system 这个命令会列出 kube-system 命名空间中的所有 Pod 的状态和相关信息&#xff0c;比如名称、状态、重启次数等。 systemctl status kubelet #查看kubelet状态 yum install git #下载git命令 git clone https://gitee.com/duk…...

apache poi 实现下拉框联动校验

apache poi 提供了 DataValidation​ 接口 让我们可以轻松实现 Excel 下拉框数据局校验。但是下拉框联动校验是无法直接通过 DataValidation ​实现&#xff0c;所以我们可以通过其他方式间接实现。 ‍ 步骤如下&#xff1a; 创建一个隐藏 sheet private static void create…...

【canal 中间件】canal 实时监听 binlog

文章目录 一、安装 MySQL1.1 启动 mysql 服务器1.2 开启 Binlog 写入功能1.2.1创建 binlog 配置文件1.2.2 修改配置文件权限1.2.3 挂载配置文件1.2.4 检测 binlog 配置是否成功 1.3 创建账户并授权 二、安装 canal2.1 安装 canal-admin(可选)2.1.1 启动 canal-admin 容器2.1.2 …...

JVM垃圾收集算法、对应收集器和选择建议

如果说垃圾收集算法是内存回收的方法论&#xff0c;那么垃圾收集器就是内存回收的具体实现。 到目前为止还没有最好的垃圾收集器出现&#xff0c;也没万能的垃圾收集器。实际使用中&#xff0c;根据具体应用场景选择合适的垃圾收集器。 1、垃圾收集算法 垃圾收集算法可以从高…...

如何在算家云搭建Aatrox-Bert-VITS2(音频生成)

一、模型介绍 ‌ Aatrox - Bert -VITS2 模型是一种基于深度学习的语音合成系统&#xff0c;结合了 BERT 的预训练能力和 VITS2 的微调技术&#xff0c;旨在实现高质量的个性化语音合成。 二、模型搭建流程 1. 创建容器实例 进入算家云的“应用社区”&#xff0c;点击搜索找到…...

ceph灾备之cephfs snapshot mirror和rsync对比

背景 最近要做ceph集群之间的灾备功能&#xff0c;主要讨论文件存储&#xff0c;因为ceph集群容量越来越大&#xff0c;接入的业务也越来越多&#xff0c;一旦出现故障&#xff0c;恢复时间都是小时级(根据经验每年都会出现几次这种事故)&#xff0c;对于核心业务无法接受&…...

【工具分享】Plutocrypt勒索病毒解密工具

前言 Plutocrypt勒索软件首次出现在2021年&#xff0c;作为CryptoJoker勒索软件的变种。该恶意软件通过钓鱼邮件和恶意链接传播&#xff0c;主要针对个人和小型企业用户。Plutocrypt使用了.NET框架开发&#xff0c;并依赖AES-256和RSA-4096的加密算法来加密受害者的文件。与Cr…...

IDEA启动提示Downloading pre-built shared indexes

Download pre-built shared indexes Reduce the indexing time and CPU load with pre-built JDK shared indexes 翻译&#xff1a; 下载预构建的共享索引 使用预构建的JDK共享索引减少索引时间和CPU负载. 使用预构建的JDK共享索引可以显著减少索引构建时间和CPU负载&#xf…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...