CentOS上安装和配置Docker与Docker Compose的详细指南
引言
大家好,我是小阳,在这篇文章中,我将带大家一步步完成在CentOS系统上安装和配置Docker与Docker Compose的过程。通过这篇详细的指南,你将能够轻松配置Docker环境,并在日常开发和部署中享受其带来的便利。
原文阅读:【巨人肩膀社区·专栏·分享】02 CentOS上安装和配置Docker与Docker Compose的详细指南
准备工作
在开始之前,请确保你拥有一台已安装CentOS操作系统的服务器,并具备sudo权限。本文中的所有命令都需要以root用户或具有sudo权限的用户身份执行。
关于安装docker,我写了一个一键安装脚本,这样大大节约大家的的时间和精力,但是大家还是有必要了解脚本里面这些安装步骤。
下面是关于脚本里面这些步骤详解。03 Docker一键安装脚本信息
0.脚本执行
将脚本上传到服务器根目录,然后执行以下指令
chmod +x setup_docker.sh
./setup_docker.sh
这个脚本会自动执行所有步骤,确保你不需要手动输入每一条命令。
image.png
出现这个说明脚本执行成功了
1. 检查并安装必要命令
首先,我们需要确保系统中已经安装了curl
、yum
、sudo
和systemctl
命令。如果没有安装这些命令,请使用以下命令进行安装:
bash 复制代码
sudo yum install -y curl sudo yum-utils systemd
2. 检查网络连接
在安装过程中,稳定的网络连接是至关重要的。我们可以使用curl
命令检查网络连接状态:
bash 复制代码
echo "检查网络连接..."
curl -s --head https://www.baidu.com | head -n 1 | grep "200\|301\|302" >/dev/null || {echo "无法连接到互联网,请检查网络连接。"exit 1
}
以上命令会尝试访问百度首页,并检查返回的HTTP状态码是否为200、301或302。如果无法连接到互联网,脚本会终止执行。
3. 打印当前内核版本信息
了解当前系统的内核版本有助于确保系统与Docker的兼容性:
bash 复制代码
echo "当前内核版本:"
uname -r
4. 备份现有的YUM源配置
在进行YUM源配置更改之前,备份现有的配置文件是一个良好的习惯。这样可以确保在出现问题时能够恢复原有配置:
bash 复制代码
echo "备份现有的 yum 源配置..."
sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.backup || {echo "备份 yum 源配置失败。正在终止。"exit 1
}
5. 更新YUM源为阿里云镜像
阿里云镜像源通常比官方源更快,更适合中国大陆的用户。我们可以使用以下命令更新YUM源:
bash 复制代码
echo "更新 yum 源为阿里云镜像..."
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo || {echo "更新 yum 源失败。正在终止。"exit 1
}
6. 清理和重新生成YUM缓存
更新YUM源后,需要清理旧缓存并生成新的缓存:
bash 复制代码
echo "清理 yum 缓存..."
sudo yum clean all || {echo "清理 yum 缓存失败。正在终止。"exit 1
}
echo "重新生成 yum 缓存..."
sudo yum makecache || {echo "生成 yum 缓存失败。正在终止。"exit 1
}
7. 更新系统软件包
确保系统的所有软件包都是最新的:
bash 复制代码
echo "更新系统软件包..."
sudo yum update -y || {echo "更新系统软件包失败。正在终止。"exit 1
}
8. 安装必要的软件包
Docker依赖于一些必要的软件包,需要先安装这些依赖:
bash 复制代码
echo "安装必要的软件包..."
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 || {echo "安装必要的软件包失败。正在终止。"exit 1
}
9. 添加Docker CE仓库
我们需要添加Docker CE的仓库以便从中安装Docker:
bash 复制代码
echo "添加 Docker CE 仓库..."
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo || {echo "添加 Docker CE 仓库失败。正在终止。"exit 1
}
将Docker CE仓库的下载地址替换为阿里云镜像源:
bash 复制代码
echo "替换 Docker CE 仓库的下载地址为阿里云镜像..."
sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo || {echo "替换 Docker CE 仓库下载地址失败。正在终止。"exit 1
}
10. 安装Docker CE
现在,我们可以安装Docker CE了:
bash 复制代码
echo "安装 Docker CE..."
sudo yum install -y docker-ce-25.0.5 docker-ce-cli-25.0.5 containerd.io || {echo "安装 Docker CE 失败。正在终止。"exit 1
}
11. 下载并设置Docker Compose
Docker Compose是一个用于定义和运行多容器Docker应用的工具。我们可以使用以下命令下载并设置Docker Compose:
bash 复制代码
echo "下载 Docker Compose..."
sudo curl -L https://gitee.com/fustack/docker-compose/releases/download/v2.24.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose || {echo "下载 Docker Compose 失败。正在终止。"exit 1
}
echo "赋予 Docker Compose 执行权限..."
sudo chmod +x /usr/local/bin/docker-compose || {echo "赋予 Docker Compose 执行权限失败。正在终止。"exit 1
}
12. 启动和设置Docker服务
安装完成后,需要启动Docker服务并设置其开机启动:
bash 复制代码
echo "启动 Docker 服务..."
sudo systemctl start docker || {echo "启动 Docker 服务失败。正在终止。"exit 1
}
echo "设置 Docker 服务开机启动..."
sudo systemctl enable docker || {echo "设置 Docker 服务开机启动失败。正在终止。"exit 1
}
echo "重启 Docker 服务..."
sudo systemctl restart docker || {echo "重启 Docker 服务失败。正在终止。"exit 1
}
相关文章:
![](https://img-blog.csdnimg.cn/img_convert/0bb9e994ad9a991fccc9ec75ff3ae400.png)
CentOS上安装和配置Docker与Docker Compose的详细指南
引言 大家好,我是小阳,在这篇文章中,我将带大家一步步完成在CentOS系统上安装和配置Docker与Docker Compose的过程。通过这篇详细的指南,你将能够轻松配置Docker环境,并在日常开发和部署中享受其带来的便利。 原文阅…...
![](https://www.ngui.cc/images/no-images.jpg)
Vim多文件操作
Vim多文件编辑的实际意义在于它极大地提高了开发者在处理多个相关文件时的效率和便利性。在软件开发、文本编辑、代码审查、配置管理等场景中,经常需要同时打开和操作多个文件。Vim的多文件编辑功能使得这些任务变得更加直观和高效。 提高编码效率:在开发…...
![](https://img-blog.csdnimg.cn/img_convert/c0164698f8db911c254840c8f3191fec.jpeg)
【ARM+Codesys 客户案例 】 基于RK3568/A40i/STM32+CODESYS在智能制造中的应用案例:全自动切片机器人
蔬菜是人们日常生活必不可缺的食品,并且食用方法多种多样。自步入小康社会以来,人们的生活节奏越来越快,很多传统服务已不能满足人们的物质需求和生活节奏。日常生活中通过手工快速切菜严重地威胁着人身安全,切菜时间过长或切菜不…...
![](https://i-blog.csdnimg.cn/direct/ed03aa0a680342bbaec05e6eb92b8401.png)
NSI程序打包脚本文件编写教程
引言 NSIS (Nullsoft Scriptable Install System) 是一个专业开源的制作 windows 安装程序的工具。我们通过HM NSIEDIT编写好脚本、编译即可生成exe安装包。安装过程中可以配置其安装包图标、名称、出版人、网站等。此外,还可以设置程序开机自启动、管理员权限运行…...
![](https://i-blog.csdnimg.cn/direct/58851bf7e4464385aa1fe861c455313a.png)
[LitCTF 2023]1zjs
很有意思的一道题,打开题目环境之后F12可以看到 点击那个蓝色下划线的就能看到: 然后访问: /fk3f1ag.php就可以看到: 然后将这些复制到控制台然后回车就能得到flag。...
![](https://i-blog.csdnimg.cn/direct/7e5fa2637cf7489ab17075fbcf978843.png)
MCU复位RAM会保持吗,如何实现复位时变量数据保持
在使用MCU时,通常大家默认MCU复位时RAM会被复位清零,那实际MCU复位时RAM是什么状态?如何让mcu复位时RAM保持不变呢? MCU复位有电源复位、Standby复位、内核复位、看门狗复位、引脚复位等。 其中内部会有掉电动作的复位有电源复位…...
![](https://i-blog.csdnimg.cn/direct/46797d4dbe854c0eb7bb65e918561956.png)
解决window 端口的占用问题
netstat -nao | findstr "5554" taskkill -pid 5076 -f 本文资料来自 https://cloud.tencent.com/developer/article/1703982...
![](https://i-blog.csdnimg.cn/direct/0dd2ae1a8bc7456f9c13a0f318d77dc6.png)
【Datawhale AI夏令营第四期】 浪潮源大模型应用开发方向笔记 Task04 RAG模型 人话八股文Bakwaan_Buddy项目创空间部署
【Datawhale AI夏令营第四期】 浪潮源大模型应用开发方向笔记 Task04 RAG模型 人话八股文Bakwaan_Buddy项目创空间部署 什么是RAG: 我能把这个过程理解为Kimi.ai每次都能列出的一大堆网页参考资料吗?Kimi学了这些资料以后,根据这里面的信息综…...
![](https://www.ngui.cc/images/no-images.jpg)
PyTorch 基础学习(10)- Transformer
系列文章: 《PyTorch 基础学习》文章索引 介绍 Transformer模型是近年来在自然语言处理(NLP)领域中非常流行的一种模型架构,尤其是在机器翻译任务中表现出了优异的性能。与传统的循环神经网络(RNN)不同&a…...
![](https://i-blog.csdnimg.cn/direct/2696fdb5b4b1400f8c8c6f74f6867a65.jpeg)
mybatis-plus使用
目录 1. 快速开始 1. 创建user表 2. 插入几条数据 3. 创建一个新的springboot项目 4. 导入mybatis-plus依赖 5. 在配置文件中进行配置 6. 编写实体类 7. 编写Mapper 接口类 8. 添加 MapperScan 注解 9. 测试 编辑2. CRUD 1. 插入一条语句 2. 根据主键id删除一条记录 3. 根据…...
![](https://www.ngui.cc/images/no-images.jpg)
ant-design-vue快速上手指南及排坑攻略
前言 ant-design-vue是Ant Design的Vue实现,旨在为Vue用户提供一套企业级的UI设计语言。本文将带你快速上手ant-design-vue,并在实践中分享一些常见的坑及解决方法。遵循本文档,让你轻松搭建优雅的Vue应用。 一、环境准备 在开始之前&…...
![](https://i-blog.csdnimg.cn/direct/8e64fab0f076420088b63f2695369151.png)
【GitLab】使用 Docker 安装 3:gitlab-ce:17.3.0-ce.0 配置
参考阿里云的教程docker的重启 sudo systemctl daemon-reload sudo systemctl restart docker配置 –publish 8443:443 --publish 8084:80 --publish 22:22 sudo docker ps -a 當容器狀態為healthy時,說明GitLab容器已經正常啟動。 root@k8s-master-pfsrv:~...
![](https://i-blog.csdnimg.cn/direct/8a9292840ec94feb9b6f43d820ffd410.png)
多线程(4)——单例模式、阻塞队列、线程池、定时器
1. 多线程案例 1.1 单例模式 单例模式能保证某个类在程序中只存在唯一一份实例,不会创建出多个实例(这一点在很多场景上都需要,比如 JDBC 中的 DataSource 实例就只需要一个 tip:设计模式就是编写代码过程中的 “软性约束”&am…...
![](https://img-blog.csdnimg.cn/img_convert/a3fef49d7bc86b6dee724494717e4e7f.png)
告别电量焦虑,高性能65W PD快充芯片HUSB380A打造梦中情【头】
市面上的充电器越来越卷,让人眼花缭乱。压力同样也给到了快充芯片行业,要在激烈的市场竞争中脱颖而出,快充芯片必须集高功率、高性价比与广泛的兼容性等于一身。 基于此,慧能泰推出了新一代高性能PD Source产品——HUSB380A。 图…...
![](https://i-blog.csdnimg.cn/direct/5dc54937dd734ec29f7ab057052192a1.png)
vulnhub靶场 — NARAK
下载地址:https://download.vulnhub.com/ha/narak.ova Description:Narak is the Hindu equivalent of Hell. You are in the pit with the Lord of Hell himself. Can you use your hacking skills to get out of the Narak? Burning walls and demons are around every cor…...
![](https://i-blog.csdnimg.cn/direct/66672baa8b144f4295eb207a4b0d5b84.png)
RabbitMQ如何保证消息不丢失
RabbitMQ消息丢失的三种情况 第一种:生产者弄丢了数据。生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。 第二种:RabbitMQ 弄丢了数据。MQ还没有持久化自己挂了。 第三种…...
![](https://i-blog.csdnimg.cn/direct/abe98c388596471990a0e98719fc9f81.png)
(亲测有效)SpringBoot项目集成腾讯云COS对象存储(1)
目录 一、腾讯云对象存储使用 1、创建Bucket 2、使用web控制台上传和浏览文件 3、创建API秘钥 二、代码对接腾讯云COS(以Java为例) 1、初始化客户端 2、填写配置文件 3、通用能力类 文件上传 测试 一、腾讯云对象存储使用 1、创建Bucket &am…...
![](https://i-blog.csdnimg.cn/direct/a7960e672f25463da6ab3981fb8b4cc6.jpeg)
无人机之故障排除篇
一、识别故障 掌握基本的无人机系统知识,遵循“先易后难、先外后内、先软件后硬件”的原则进行故障识别。一旦发现故障,立即停止飞行,避免进一步损坏。 二、机械部件维修 对于机身裂痕、螺旋桨损坏等情况,根据损坏程度更换相应部…...
![](https://www.ngui.cc/images/no-images.jpg)
深入理解Python常见数据类型处理
目录 概述数字类型 整数(int)浮点数(float)复数(complex) 字符串(str) 字符串基本操作字符串方法 列表(list) 列表基本操作列表方法列表推导式 元组…...
![](https://img-blog.csdnimg.cn/img_convert/38b0187afe4489bcbaf5cd6bdedac97c.png)
最佳实践:CI/CD交付模式下的运维展望丨IDCF
李洪锋 启迪万众数字技术(广州)有限公司 ,产品研发中心-系统运维部、研发效能(DevOps)工程师(中级)课程学员 一、DevOps现状 据云计算产业联盟《中国DevOps现状调查报告2023》显示,国内DevOps 落地成熟度…...
![](https://img-blog.csdnimg.cn/img_convert/d7429aed5304b090f6a1ce1c96d1deb1.png)
Flat Ads:开发者如何应对全球手游市场的洗牌与转型
2023年下半年至2024年上半年,中国手游的海外市场表现经历了显著变化,开发者要如何应对全球手游市场的洗牌与转型?本篇文章我们将结合相关行业白皮书的最新数据对中国手游出海表现进行分析与洞察。 一、中国手游海外市场表现 根据Sensor Tower《2024年海外手游市场洞察》最新…...
![](https://img-blog.csdnimg.cn/img_convert/384ed1e1fb0c55967558bd55b3fc0c18.jpeg)
ai取名软件上哪找?一文揭秘5大ai取名生成器
在这个世界上,每一个新生命的到来都是一份奇迹,无论是一个新生儿的第一声啼哭,还是一只宠物的第一次摇尾巴,都充满了无限的希望和喜悦。 然而,给这个小生命起一个响亮、独特且富有意义的名字,往往让人煞费…...
![](https://i-blog.csdnimg.cn/direct/7549a9c15e0d4920bd37658648cc9182.png)
ppt转换成pdf文件,这5个方法一键搞定!小白也能上手~
不管是工作上还是学习上,我们都会遇到转换文档格式的问题。比如常见的pdf转word,ppt转pdf,图片转pdf等。 很多软件都有自带的转换功能可以实现,但是需要保证转换后不乱码,且清晰度足够的方法还是少见的。本文整理了几个…...
![](https://img-blog.csdnimg.cn/8d79dbf3a2b74d378c6ddd8befa5f7a1.png)
中国每个软件创业者都是这个时代的“黑悟空”
作者 | 白鲸开源CEO 郭炜 我作为一个具有30游龄而20年都不碰游戏的游戏玩家,最近为了《黑神话:悟空》(简称,黑悟空),不但花重金更新了显卡,还第一次下载了Steam并绑定了支付,为的就是支持这个第…...
![](https://i-blog.csdnimg.cn/direct/de3a98da19c24442bda424208f0089ea.png)
解决Qt多线程中fromRawData函数生成的QByteArray数据不一致问题
解决Qt多线程中fromRawData函数生成的QByteArray数据不一致问题 目录 🔔 问题背景📄 问题代码❓ 问题描述🩺 问题分析✔ 解决方案 🔔 问题背景 在开发一个使用Qt框架的多线程应用程序时,我们遇到了一个棘手的问题&…...
![](https://i-blog.csdnimg.cn/direct/4db1bb8cb73c4b44badd847ce14f0f3b.png)
datax关于postsql数据增量迁移的问题
看官方文档是不支持的 数据源及同步方案_大数据开发治理平台 DataWorks(DataWorks)-阿里云帮助中心 (aliyun.com) 看了下源码有个postsqlwriter 看了下也就拼接sql 将 PostgresqlWriter中的不允许更新先注释了 让他过去先 然后看到 WriterUtil中的对应方法 getWriteTemplat…...
![](https://i-blog.csdnimg.cn/direct/48f08c2c6d42480aa32fb59fbaba8b19.png)
【Go】实现字符切片零拷贝开销转为字符串
package mainimport ("fmt""unsafe" )func main() {bytes : []byte("hello world")s : *(*string)(unsafe.Pointer(&bytes))fmt.Println(s)bytes[0] Hfmt.Println(s) }slice的底层结构是底层数组、len字段、cap字段。string的底层结构是底层…...
![](https://www.ngui.cc/images/no-images.jpg)
[sqlserver][sql]sqlserver查询执行过的历史sql
SQL是一个针对SQL Server数据库的查询执行过的历史 select * from (SELECT *FROM sys.dm_exec_query_stats QS CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) ST ) a where a.creation_time >2018-07-18 17:00:00 and charindex(delete from ckcdlist ,text)>0 an…...
![](https://img-blog.csdnimg.cn/img_convert/e23c3116f07dcc5ab68a1b45def11317.jpeg)
python中n次方怎么表示
Python中的n次方用pow()方法来表示,pow()方法返回 xy(x的y次方)的值。 语法 以下是 math 模块 pow() 方法的语法: import math math.pow( x, y ) 内置的 pow() 方法 pow(x, y[, z]) 函数是计算x的y次方,如果z在存在&…...
![](https://i-blog.csdnimg.cn/direct/4697573aae0e42c8aa4c7f7ecdbdfa2d.png)
Java数组怎么转List,Stream的基本方法使用教程
Stream流 Java 的 Stream 流操作是一种简洁而强大的处理集合数据的方式,允许对数据进行高效的操作,如过滤、映射、排序和聚合。Stream API 于 Java 8 引入,极大地简化了对集合(如 List、Set)等数据的处理。 一、创建 Stream 从集合创建: List<String> list = Ar…...
![](/images/no-images.jpg)
ie浏览器哪个做网站稳定/seo关键词排名如何
3 交互性与用户界面:本章介绍如何取得用户输入,即键盘与鼠标事件。还要介绍把输入集成到游戏中,并介绍如何用Swing实现用户界面。下面先看一个简单类来简化速测程序的实现,清单 3.1 GameCore 类就是起这个作用。它实现了一些常见…...
![](http://s2.51cto.com/wyfs02/M02/84/1B/wKioL1eF15aBObnaAAE4UwchXZs896.png)
免费个人网站怎么制作/推广引流图片
VXLAN大二层实现穿越互联网通过DHCP服务器获取IP地址 1、测试拓扑图 图(1) 拓扑说明: a、linux路由器是用linux在vmware启用三个接口分为后host-only模式,vmnet1、vmnet2、vmnet3(注意,在vmware要将本实验使…...
![](/images/no-images.jpg)
seo关键词是什么/seo知识点
题目描述 在一个表达式中含有圆括号或方括号等来表示运算的优先级,将这些括号提取出来就构成了括号序列 例如:表达式[(AB)*C]-[E-F] 其括号序列为[()][] 合法的括号序列称为匹配序列,不合法的括号序列称为不匹配序列。匹配序列示例&#…...
![](https://img2018.cnblogs.com/blog/1089139/201811/1089139-20181126133716005-1269987002.png)
wordpress now主题/青岛seo网络推广
转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/10019833.html...
![](/images/no-images.jpg)
怎样在线做网站404/天眼查企业查询
一、交换机基础知识 <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />1、交换机的定义:交换机是一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备。交换机可以…...
![](https://img-blog.csdnimg.cn/img_convert/3e6d85692a20df00ff9941997e513bc0.png)
做软件开发视频网站/t和p在一起怎么做网站
$ . oraenvORACLE_SID [ASM] ? orclThe Oracle base for ORACLE_HOME/u01/app/oracle/product/11.2.0/dbhome_1 is /u01/app/oracle$ dbca设置数据库文件的存储类型为ASM,存储路径使用OMF:DATA(也可以通过点击Browse选择DATA)输入ASM密码:o…...