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

Centos 7 部署Docker CE和docker-compose教程

一、Docker CE

1、Docker CE 安装

①、安装依赖包

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

②、设置yum源

# 官方源(二选一)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 阿里源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

③、生成并更新系统中的软件包缓存

yum makecache fast

④、安装、启动、并设置Docker开机自启

# 安装 Docker
yum install -y docker-ce# 启动 Docker
systemctl start docker.service# 设置 Docker 开机自启
systemctl enable docker.service# 查看版本
docker version

2、Docker 常用命令

  • Docker 启动命令
# 启动docker
systemctl start docker.service# 停止docker
systemctl stop docker.service# 重启docker
systemctl restart docker.service# 查看docker状态
systemctl status docker.service
  • Docker 容器命令
# 列出正在运行的容器
docker ps# 列出所有的容器,包括正在运行和已经停止的容器
docker ps -a# 启动容器
docker start <容器ID># 停止容器
docker stop <容器ID># 重启容器
docker restart <容器ID># 移除容器(移除容器前需要先停止容器)
docker rm <容器ID># 进入容器
docker exec -it <容器名称或容器ID> /bin/bash# 修改容器名称
docker rename <旧容器名称> <新容器名称># 将宿主机上的文件复制到容器内
docker cp <本地文件路径> <容器ID>:<容器目标路径># 从容器内将文件复制到宿主机上
docker cp <容器ID>:<容器文件路径> <本地目标路径># 查看容器的日志
docker logs <容器ID>
  • Docker 镜像命令
# 列出所有本地镜像 (包含镜像名称和ID)
docker images# 搜索远程镜像库中的镜像,可以根据镜像名称过滤搜索结果
docker search <name># 从远程镜像库中拉取一个镜像到本地。指定版本“ 镜像名称:7.1.1 ”
docker pull <name># 删除一个本地镜像 (删除前需要先移除正在使用该镜像的容器,包括运行中和停止中的)
docker rmi <镜像名称 或 ID>

3、Docker 镜像源配置

  • 可选。Docker 官方提供的默认镜像源位于海外,可能下载会很慢,可以通过配置国内的镜像源,加速下载。

①、使用文本编辑器创建一个新的配置文件

mkdir /etc/docker/ (没有就手动创建文件夹)
vim /etc/docker/daemon.json

②、添加 Docker 配置信息。例如,要设置镜像加速源为阿里云的镜像加速器,可以添加以下内容:

{"registry-mirrors": ["https://<阿里云镜像加速器地址>"]
}

③、重启Docker守护进程以使更改生效

systemctl daemon-reload
systemctl restart docker

获取方法:
 1、进入阿里云容器镜像服务页面
 2、在左侧导航栏中选择“ 镜像工具-镜像加速器 ”


二、docker-compose

  Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它使用YAML文件来配置应用程序的服务、网络和卷,并使您能够使用单个命令一次性启动、停止和管理整个应用程序。

为什么要使用Docker Compose:

  • 简化部署:Compose允许您将整个应用程序作为一个整体进行部署,而不是单独地处理每个容器。这样可以大大简化部署流程,减少配置错误和问题。
  • 提高可维护性:通过将应用程序的配置与代码分离,并使用版本控制来管理,您可以更好地跟踪和管理应用程序的变化。这提高了可维护性,并使团队更容易协作。
  • 加速开发周期:Compose使得在本地开发环境中快速启动和停止应用程序变得非常容易。这样,开发人员可以更快地进行测试、调试和迭代,从而加速开发周期。

总之,Docker Compose是一个强大的工具,可帮助您定义、运行和管理多容器Docker应用程序。它简化了部署过程,提高了可维护性,并加速了开发周期。

1、docker-compose 安装

①、下载并安装Docker Compose, 加速器无法使用时,请去掉https://ghproxy.com/部分,直接在github下载

curl -L "https://ghproxy.com/https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

②、赋予执行权限

chmod +x /usr/local/bin/docker-compose

③、查看版本

docker-compose -v

2、docker-compose 常用命令

# 以下命令需要在 docker-compose.yaml 文件路径下执行# 启动应用程序 (根据配置文件启动整个应用程序,并将日志输出到控制台)
docker-compose up# 启动应用程序并在后台运行(启动应用程序,但将其放在后台运行,不将日志输出到控制台)
docker-compose up -d# 停止应用程序 (停止运行中的应用程序,并移除相关的容器、网络和卷)
docker-compose down# 查看应用程序的状态(显示当前正在运行的容器以及它们的状态)
docker-compose ps# 查看应用程序的日志(查看应用程序中所有容器的日志)
docker-compose logs

3、docker-compose.yaml 模板示例

version: '3'services:onlyoffice:container_name: OnlyOfficeimage: onlyoffice/documentserverrestart: alwaysports:- 8088:80environment:TZ: Asia/ShanghaiJWT_SECRET: my_jwt_secretvolumes:- /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice- /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data- /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice- /app/onlyoffice/DocumentServer/db:/var/lib/postgresql
version: '3' Docker Compose文件的版本号,指定了该文件的语法和规范。services: 表示定义的服务列表开始。onlyoffice: 定义一个服务名称为onlyoffice。container_name: OnlyOffice 指定了该服务生成的容器的名称为OnlyOffice。image: onlyoffice/documentserver 指定了使用的镜像,即OnlyOffice DocumentServer的镜像。restart: always 表示容器在退出或重启时会自动重新启动。ports: 指定容器的端口映射关系,将容器的80端口映射到主机的8088端口上。environment: 定义容器的环境变量。TZ: Asia/Shanghai 设置容器的时区为Asia/Shanghai。JWT_SECRET: my_jwt_secret 设置JWT的密钥为my_jwt_secret。volumes: 挂载点配置,将主机上的目录与容器内的目录进行映射,实现数据持久化。将主机上的/app/onlyoffice/DocumentServer/logs目录挂载到容器的/var/log/onlyoffice目录。将主机上的/app/onlyoffice/DocumentServer/data目录挂载到容器的/var/www/onlyoffice/Data目录。将主机上的/app/onlyoffice/DocumentServer/lib目录挂载到容器的/var/lib/onlyoffice目录。将主机上的/app/onlyoffice/DocumentServer/db目录挂载到容器的/var/lib/postgresql目录。

三、卸载

1、停止Docker服务

systemctl stop docker.service

2、移除Docker CE软件包

yum remove -y docker-ce docker-ce-cli containerd.io

3、删除Docker数据目录(如果需要)

rm -rf /var/lib/docker

4、如果您已经使用Docker Compose,则需要删除Compose二进制文件

# 删除 (输入y)
rm /usr/local/bin/docker-compose

5、删除Docker存储库的yum源

# 可先备份保留
cp /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce.repo.bak
# 删除 (输入y)
rm /etc/yum.repos.d/docker-ce.repo

相关文章:

Centos 7 部署Docker CE和docker-compose教程

一、Docker CE 1、Docker CE 安装 ①、安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2②、设置yum源 # 官方源&#xff08;二选一&#xff09; yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 阿里源…...

【数据结构】模拟实现无头单向非循环链表

链表的概念 学过ArrayList后我们知道它的底层是用数组来存储元素的&#xff0c;是连续的存储空间&#xff0c;当我们要从ArrayList任意位置删除或插入元素时&#xff0c;我们要把后续整体向前或后移动&#xff0c;时间复杂度为O(n)&#xff0c;效率比较低&#xff0c;因此Arra…...

linux驱动开发学习001:概述

linux的内核源码编译后&#xff0c;会生成一个总的镜像。镜像加载到内存中运行他&#xff0c;就会启动内核。驱动属于内核代码的一部分&#xff0c;对驱动修改要重编整个内核&#xff0c;麻烦但驱动可以独立于内核镜像外&#xff0c;并能动态加载和卸载字符设备驱动&#xff0c…...

安全响应中心 — 垃圾邮件事件报告(10.13)

2023年10月 第二周 一. 样本概况 ✅ 案例1&#xff1a;DocuSign钓鱼 本周收到一封看似来自 DocuSign&#xff08;DocuSign 是一种在企业环境中广泛使用的电子协议管理平台&#xff09;的网络钓鱼电子邮件反馈。 如下图所示&#xff1a; 以上样本内容大体是说XX发送了一份文…...

扩散模型Diffusers Pipeline API使用介绍

1 关于Diffusers Pipeline 1.1 简介 大部分扩散模型包含多个独立训练的子模型和组件模块组合而成&#xff0c;例如StableDiffusion 有&#xff1a; 3个独立训练的子模型&#xff1a;Autoencoder、 Conditional Unet、CLIP text encoder调度器组件scheduler,CLIPImageProcesso…...

el-date-picker 组件 监听输入的内容 并按照时间格式 格式化

这个时间选择组件在输入的时候是监听不到输入的值的&#xff0c;所以我们在外层再套个div&#xff0c;然后用获取焦点事件去操作dom 页面中 <div id"inParkingData"><el-date-pickerv-model"indateRange"size"small"value-format"…...

组件通信$refs | $parent |$root

父组件传值子组件用Props 子组件传值父组件用$emit 父组件直接还可以直接取子组件的值用$refs 父组件直接从子子组件中获取值$refs 不建议使用会增加组件之间的耦合度&#xff0c;一般用于第三方插件的封装 ref如果绑定在dom节点上&#xff0c;拿到的就是原生dom节点。 ref如…...

springboot中@Async的使用

1.AsyncAnnotationBeanPostProcessor是主要逻辑类 (1)AsyncAnnotationBeanPostProcessor实现BeanFactoryAware接口 在setBeanFactory(BeanFactory beanFactory)中初始化advisorAsyncAnnotationAdvisor() (2)AsyncAnnotationBeanPostProcessor实现BeanPostProcessor接口 在p…...

学C++从CMake学起

Cmake在此引入c17编译器&#xff0c;就可以使用c17的新特性了。 c17定义了一些算法&#xff0c;都定义在了下面这个头文件里。 #include <numeric> 通过redurce函数求和 将9行的std::plus{}换成std::times{}就是相乘。...

lv8 嵌入式开发-网络编程开发 20 域名解析与http服务实现原理

目录 1 域名解析 2 如何实现万维网服务器&#xff1f; 2.1 HTTP 的操作过程 2.2 万维网服务器实现 1 域名解析 域名解析gethostbyname函数 主机结构在 <netdb.h> 中定义如下&#xff1a; struct hostent {char *h_name; /* 官方域名 */char **h_alias…...

只要路由器有WPS按钮,佳能打印机连接到Wi-Fi网络的方法就很简单

佳能打印机是很好的设备&#xff0c;可以让你从智能手机、电脑或平板电脑打印照片。它们还提供其他功能&#xff0c;如扫描文档和复制图像。 最新的型号还允许你连接到Wi-Fi&#xff0c;因此你不需要使用电线将设备连接到打印机。 Wi-Fi是通过本地网络传输数据的标准方式。它…...

Cmake输出git内容方式

实现背景 在定位问题时&#xff0c;固件无法获取当前设备中版本的详细信息&#xff0c;无法准确获取版本具体内容 输出效果 实现方式 以下是基于Cmake的语法实现 在CMake中获取git信息&#xff0c;可以通过execute_process命令运行git命令并将结果保存在一个变量中。然后可…...

实现多余内容变成省略号

实现效果 代码 <p class"item-content">{{ item.content }}</p>样式 .item-content {white-space: nowrap;/* 禁止换行 */overflow: hidden;/* 隐藏溢出部分 */text-overflow: ellipsis;/* 使用省略号表示溢出部分 */ }...

WAL 模式(PostgreSQL 14 Internals翻译版)

性能 当服务器正常运行时&#xff0c;WAL文件不断被写入磁盘。但是&#xff0c;这些写操作是顺序的:几乎没有随机访问&#xff0c;因此即使是HDD也可以处理这个任务。由于这种类型的加载与典型的数据文件访问非常不同&#xff0c;因此有必要为WAL文件设置一个单独的物理存储&a…...

2023年信息科学与工程学院学生科协第二次软件培训

2023年信息科学与工程学院学生科协第二次软件培训 文章目录 2023年信息科学与工程学院学生科协第二次软件培训一维数组数组的概念定义格式一维数组的访问例题&#xff1a;练习题&#xff1a; 数组元素数量一维数组的初始化 二维数组定义格式二维数组的访问二维数组的存储结构二…...

渗透测试tomcat错误信息泄露解决办法

解决方法&#xff1a; 1、使用tomcat8.5.16&#xff0c;会重定向非法url到登录url 2、配置server.xml&#xff0c;加上 <Valve className"org.apache.catalina.valves.ErrorReportValve" showReport"false" showServerInfo"false" />配置…...

notes_NLP

RNN > LSTM, GRU model特点RNNLSTMinputforgetputput&#xff1b;GRUresetupdate&#xff1b;参数比LSTM少&#xff0c;计算效率更高&#xff1b; 循环神经网络&#xff08;RNN/LSTM/GRU&#xff09; 人人都能看懂的GRU transformer > self-attention 根据Query和Key计…...

内存分段、分页

大家好&#xff0c;我叫徐锦桐&#xff0c;个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识&#xff0c;还有日常折腾的经验&#xff0c;欢迎大家访问。 前言 每个进程都有一套自己的虚拟地址&#xff0c;尽管进程可能有相同的虚拟地址&#xff0c;…...

Python-pptx教程之一从零开始生成PPT文件

简介 python-pptx是一个用于创建、读取和更新PowerPoint&#xff08;.pptx&#xff09;文件的python库。 典型的用途是根据动态内容&#xff08;如数据库查询、分析数据等&#xff09;&#xff0c;将这些内容自动化生成PowerPoint演示文稿&#xff0c;将数据可视化&#xff0c…...

k8s 使用ingress-nginx访问集群内部应用

k8s搭建和部署应用完成后&#xff0c;可以通过NodePort&#xff0c;Loadbalancer&#xff0c;Ingress方式将应用端口暴露到集群外部&#xff0c;提供外部访问。 缺点&#xff1a; NodePort占用端口&#xff0c;大量暴露端口非常不安全&#xff0c;并且有端口数量限制【不推荐】…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...