CentOS下 Docker、Docker Compose 的安装教程

news/2024/5/20 7:36:34
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker Compose是用于定义和运行多容器docker应用程序的工具,compose 通过一个配置文件来管理多个 docker容器。可以使用 docker-compose.yml脚本来 启动、停止、重启应用,进行docker容器的编排和管理。但是 docker compose并没有实现容器的负载均衡,还需要借助其他工具实现。

下面以 CentOS 系统为例,介绍如何安装 Docker 以及 Docker Compose

一、安装 Docker

(1)介绍

Docker 要求 CentOS 系统的内核版本高于 3.10 ,我们首先通过 uname -r 命令查看当前的内核版本看是否满足条件:

(2)升级软件

执行如下命令,将 yum 包更新到最新版本。

sudo yum update

(3)依赖工具安装

执行如下命令,安装需要的软件包。

yum install -y yum-utils device-mapper-persistent-data lvm2

(4)设置yum源

执行如下命令,设置 yum 源。

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

(5)查看可用docker版本

执行如下命令,查看当前所有仓库中所有 docker 版本。

yum list docker-ce --showduplicates | sort -r

(6)安装最新版本docker

这里我们根据上面的结果,执行如下命令安装最新稳定版 18.06.3.ce-3.el7

yum install docker-ce-18.06.3.ce-3.el7

(7)设置docker开机启动

分别执行如下两条命令,启动 docker 并将其加入开机启动。

systemctl start docker
systemctl enable docker

(8)安装验证

执行 docker version 验证下是否安装成功了(只要有 clientservice 两部分则表示 docker 安装启动都成功了)。

(9) 修改Docker Hub镜像地址

vi /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'
#修改为:
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=https://docker.mirrors.ustc.edu.cn'

重启docker

systemctl restart docker

附:升级 Docker 版本

(1)如果我们主机的 docker 版本比较低,想要升级成最新版本的话。首先执行如下命令,将旧版本删除。

yum remove docker docker-common docker-selinux docker-engine

(2)删除后再次按照上方第 5 步起重新按照指定版本即可。主要安装后同样要将其加入开机自启动。

二、安装 Docker Compose

安装方式一

(1)执行如下命令安装 pip3

yum -y install python3-pip
pip3 install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

(2)执行如下命令安装 docker-compose

pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple

(3)安装完毕后执行如下命令查看版本:

docker-compose version

(4)控制台显示如下则表示安装成功:

安装方式二(use)

docker官网地址:Overview | Docker Documentation

1、检查本地docker版本
docker version
2、docker-compose版本选择

根据docker版本选择对应的docker-compose版本。

docker-compose官网地址:Compose file version 3 reference | Docker Documentation

3、安装

官网安装地址:Overview | Docker Documentation

# github: https://github.com/docker/compose/releases/tag/v2.20.2 
# 国内下载地址:https://gitee.com/smilezgy/compose/releases/tag/v2.20.2
curl -SL \
https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-linux-x86_64 \
-o /usr/local/bin/docker-compose
4、添加可执行权限
chmod +x /usr/local/bin/docker-compose
5、测试
[root@bogon bin]# docker-compose --version
Docker Compose version v2.20.2

如果需要删除则执行如下命令

rm -rf /usr/local/bin/docker-compose
6、Docker Compose运行项目

要运行Docker Compose,需要在项目目录中拥有一个docker-compose.yml文件。完成以下步骤:

  1. 打开终端或命令提示符。
  2. 导航到存放docker-compose.yml文件的目录。
  3. 运行以下命令启动在compose文件中定义的容器:
docker-compose up
默认情况下,此命令将启动compose文件中指定的所有服务,并在终端中显示它们的日志。
要使用分离模式(在后台)运行容器,可以添加 -d标志:
# 此命令会启动容器并将控制返回给终端。
docker-compose up -d
请注意,如果是第一次运行 docker-compose up,它将从Docker Hub拉取任何必要的Docker镜像,然后再启动容器。

http://www.mrgr.cn/p/20104235

相关文章

如何启用路由器dhcp?快解析如何内网穿透?

一、什么是DHCP? 动态主机设置协议(DHCP)是一种使网络管理员能够集中管理和自动分配 IP 网络地址的通信协议。在网络中,每个联网设备都需要分配独有的 IP 地址。并当有新计算机移到网络中的其它位置时,能自动收到新的…

百度文心一言接入教程-Java版

原文链接 前言 前段时间由于种种原因我的AI BOT网站停运了数天,后来申请了百度的文心一言和阿里的通义千问开放接口,文心一言的接口很快就通过了,但是文心一言至今杳无音讯。文心一言通过审之后,很快将AI BOT的AI能力接入了文心…

从头学前端-CSS3提升-续

CSS3 2D转换 关键字:transform 移动:沿着x,y轴移动,不会影响盒子的位置,对行内元素没有效果 div {width: 100px;height: 100px;background-color: rebeccapurple;transform: translate(100px,100px);transform: translateX(100p…

TSINGSEE青犀视频安防监控视频平台EasyCVR新增密码复杂度提示

智能视频监控平台TSINGSEE青犀视频EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTM…

孩子近视有必要用全光谱灯吗?全光谱led灯推荐

当然,有必要!全光谱LED灯的光源分布更加均匀,使空间更加美观舒适,而普通灯的光源分布可能会在一定范围内分布不均匀。全光谱它的使用寿命长达20-30万小时,而普通灯的使用寿命仅为1000-2000小时,因此在长期使用上&#…

kettle开发-Day40-AI分流之case/switch

前言: 前面我们讲到了很多关于数据流的AI方面的介绍,包括自定义组件和算力提升这块的,今天我们来学习一个关于kettle数据分流处理非常重要的组件Switch / Case 。当我们的数据来源于类似日志、csv文件等半结构化数据时,我们需要在…

React之组件的生命周期

React之组件的生命周期 一、概述二、整体说明三、挂载阶段四、更新阶段五、卸载阶段 一、概述 生命周期:一个事务从创建到最后消亡经历的整个过程组件的生命周期:组件从被创建到挂载到页面中运行,再到组件不用时卸载的过程意义:理解组件的生…

Windows环境下git客户端中的git-bash和MinGW64

我们在 Windows10 操作系统下,安装了 git 客户端之后,可以通过 git-bash.exe 打开一个 shell: 执行一些 linux 系统里的命令: 注意到上图紫色的 MINGW64. Mingw-w64 是原始 mingw.org 项目的改进版,旨在支持 Window…

数据安全

数据的备份与恢复 1. 数据备份技术 任何数据在长期使用过程中,都存在一定的安全隐患。由于认为操作失误或系统故障,例如认为错误、程序出错、计算机失效、灾难和偷窃,经常造成数据丢失,给个人和企业造成灾难性的影响。在这种情况…

公网访问的Linux CentOS本地Web站点搭建指南

文章目录 前言1. 本地搭建web站点2. 测试局域网访问3. 公开本地web网站3.1 安装cpolar内网穿透3.2 创建http隧道,指向本地80端口3.3 配置后台服务 4. 配置固定二级子域名5. 测试使用固定二级子域名访问本地web站点 前言 在web项目中,部署的web站点需要被外部访问,则…

TypeScript -- 函数

文章目录 TypeScript -- 函数JS -- 函数的两种表现形式函数声明函数的表达式es6 箭头函数 TS -- 定义一个函数TS -- 函数声明使用接口(定义)ts 定义参数可选参数写法 -- ?的使用TS函数 -- 设置剩余参数函数重载 TypeScript – 函数 JS – 函数的两种表现形式 我们熟知js有两…

python字典:怎么取出key对应的值

目录 python中的字典是什么 怎么判断key是否在字典中 怎么取出key对应的值 总结 python中的字典是什么 在Python中,字典(Dictionary)是一种无序且可变的数据类型,用于存储键-值(Key-Value)对。字典通过…

基于传统检测算法hog+svm实现图像多分类

直接上效果图: 代码仓库和视频演示b站视频005期: 到此一游7758258的个人空间-到此一游7758258个人主页-哔哩哔哩视频 代码展示: 数据集在datasets文件夹下 运行01train.py即可训练 训练结束后会保存模型在本地 运行02pyqt.py会有一个可视化…

Element Drawer 抽屉改变默认宽度和高度

Drawer 抽屉 默认宽度为30%&#xff0c;想要改变宽度只需要使用 :size"你需要设置的值" <el-drawer title"我是标题" :visible.sync"drawer" :size"你需要设置的值"><span>我来啦!</span> </el-drawer> dat…

nginx实战

1.nginx简介 1.1 什么是nginx Nginx 是高性能的 HTTP 和反向代理的web服务器&#xff0c;处理高并发能力是十分强大的&#xff0c;能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。 其特点是占有内存少&#xff0c;并发能力强&#xff0c;事实上nginx的并发…

Windows11+Opencv+Clion编译源码

Windows11OpencvClion编译源码 参考&#xff1a;https://www.robotsfan.com/posts/69395e08.html 注意事项 编译过程中使用的软件&#xff0c;开源码等所有工具的安装路径一定不要有中文和空格。cmake过程会下载一些文件&#xff0c;如果是局域网的话可能下载不下来&#xf…

【网络】应用层——HTTP协议

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《网络》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; &#x1f3c0;认识HTTP协议 上篇文章中&#xff0c;本喵带着大家对HTTP有了一个初步的认识&#xff0…

2023最新ChatGPT商业运营版网站源码+支持ChatGPT4.0+GPT联网+支持ai绘画(Midjourney)+支持Mind思维导图生成

本系统使用Nestjs和Vue3框架技术&#xff0c;持续集成AI能力到本系统&#xff01; 支持GPT3模型、GPT4模型Midjourney专业绘画&#xff08;全自定义调参&#xff09;、Midjourney以图生图、Dall-E2绘画Mind思维导图生成应用工作台&#xff08;Prompt&#xff09;AI绘画广场自定…

27 用linprog、fmincon求 解线性规划问题(matlab程序)

1.简述 ① linprog函数&#xff1a; 求解线性规划问题&#xff0c;求目标函数的最小值&#xff0c; [x,y] linprog(c,A,b,Aeq,beq,lb,ub) 求最大值时&#xff0c;c加上负号&#xff1a;-c ② intlinprog函数&#xff1a; 求解混合整数线性规划问题&#xff0c; [x,y] intl…

Vue3 Radio单选切换展示不同内容

Vue3 Radio单选框切换展示不同内容 环境&#xff1a;vue3tsviteelement plus 技巧&#xff1a;v-if&#xff0c;v-show的使用 实现功能&#xff1a;点击单选框展示不同的输入框 效果实现前的代码&#xff1a; <template><div class"home"><el-row …