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

DockerCompose介绍与使用

DockerCompose介绍与使用

1、DockerCompose介绍

      DockerCompose用于定义和运行多容器 Docker 应用程序的工具。

      通过 Compose可以使用 YAML 文件来配置应用程序需要的所有服务。一个使用Docker容器的应用,通常由多个容器组成,使用Docker Compose不再需要使用shell脚本来启动容器,使用docker-compose脚本来启动、停止、重启应用、应用中的服务、以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。

      当服务数量逐渐增多时,就会使用 Dockerfile、Build、Image 命令向 DockerHub 拉取 Image、需要创建多个Container,多次编写启动命令,Container互相依赖的的管理和编排更加的困难,使用DockerCompose就可以很好解决以上问题。

2、DockerCompose安装

二进制文件安装

官网地址安装:

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

DaoCloud安装

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

执行如下命令

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

# ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

验证是否安装成功

# docker-compose --version

yum方式直接安装

# yum install -y docker-compose

注意:如果没有python3 会安装python3 ,可以提前安装,避免安装失败

验证是否安装成功

# docker-compose --version

pip方式安装

# sudo pip install docker-compose

验证是否安装成功

# docker-compose --version

离线文件安装

在线实在太慢,可以提前下载,上传在安装,

如本地下载好文件:docker-compose-Linux-x86_64.64,上传到安装服务

执行如下命令:

# mv docker-compose-Linux-x86_64.64 /usr/bin/docker-compose

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

查看安装版本:

[root@harbor ~]# docker-compose --version

3、DockerCompose初次使用

DockerCompose的使用步骤

  1. 创建DockerFile文件,构建服务镜像
  2. 创建yml文件,在yml文件中编排服务
  3. 通过docker-compose up命令 创建和运行容器

编写docker-compose.yaml

[root@harbor ~]# vi docker-compose.yaml

version: '3.5'

services:

order:

image: order:v1.1

container_name: order

ports:

- 8080:8080

nginx:

image: nginx

container_name: nginx

ports:

- 8081:80

启动定义的服务

启动命令:

[root@harbor ~]# docker-compose up 默认使用当前目录下的docker-compose.yml 文件

或者指定yml文件地址:

[root@harbor ~]# docker-compose -f server.yml up -d

-d:表示后台运行

停止命令

[root@harbor ~]# docker-compose down

或者 :

[root@harbor ~]# docker-compose -f server.yml down

你会发现我们启动或者停止容器,都可以根据yml文件来操作,非常方便,特别是我们需要操作多个容器的时候。

下篇博客继续介绍compose 的基本语法以及生产环境中如何使用

相关文章:

DockerCompose介绍与使用

DockerCompose介绍与使用 1、DockerCompose介绍 DockerCompose用于定义和运行多容器 Docker 应用程序的工具。 通过 Compose可以使用 YAML 文件来配置应用程序需要的所有服务。一个使用Docker容器的应用,通常由多个容器组成,使用Docker Compose不再需要…...

Windows Qt 5.12.10下载与安装

Qt 入门实战教程(目录) C自学精简实践教程 目录(必读) 1 Qt5.12.10下载 qt-opensource-windows-x86-5.12.10.exe 官方离线安装包 Download Source Package Offline Installers | Qt 下载巨慢(也可能很快) 只能下载到最新的&…...

RustDesk最新版本编译与打包

本文环境 主要参考: https://www.yuque.com/shikangsi/efy0cp/wei3g1?https://blog.csdn.net/hualuohuakai2014/article/details/121605631 问题 flutter 生成 bridge 文件。 先安装工具,再生成ffi文件。 PS C:\Users\Administrator> cargo ins…...

Gin 框架入门实战系列(一)

GIN介绍 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错 借助框架开发,不仅可以省去很多常用的封装带来的时间,…...

【测试】pywinauto的简单使用(安装、常用对象、元素控件、鼠标操作、键盘操作)

1.说明 pywinauto是一个用于自动化Python 模块,适合Windows系统的软件(GUI),可以通过Pywinauto遍历窗口(对话框)和窗口里的控件,也可以控制鼠标和键盘输入,所以它能做的事情比之前介…...

Java基础十八(正则表达式 + 日期时间)

1. 正则表达式 1.1 普通字符 字符描述示例[abc]匹配 […] 中所有字符[hlo] 匹配字符串 "hello world" 中所有的 h l o 字母[^ABC]匹配除了 […] 中所有字符[hlo] 匹配字符串 "hello world" 中除了 h l o 的所有字母[^a-z]匹配除了 […] 中所有字符[hlo] 匹…...

Linux C 多进程编程(面试考点)

嵌入式开发为什么要移植操作系统? 1.减小软硬件的耦合度,提高软件的移植性 2. 操作系统提供很多库和工具(QT Open CV),提高开发效率 3.操作系统提供多任务机制,______________________? (提高C…...

c++一级

与7无关的数 #include<iostream> #include<iomanip> using namespace std; int main() {   int n,a,sum0,c0;   cin>>n;   for(int i1;i<n;i){     if(i%7!0){       ai;       c0; …...

Code Lab - 34

GAT里面有一些地方看的不是太懂&#xff08;GAT里Multi Attention的具体做法&#xff09;&#xff0c;暂时找了参考代码&#xff0c;留一个疑问 1. 一个通用的GNN Stack import torch_geometric import torch import torch_scatter import torch.nn as nn import torch.nn.fun…...

后端返回文件流,前端怎么导出、下载(8种方法可实现)

在前端导出和下载后端返回的文件流时&#xff0c;可以使用以下几种方法&#xff1a; 使用window.open()方法&#xff1a; 在前端使用window.open()方法打开一个新的窗口或标签页&#xff0c;并将后端返回的文件流作为URL传递给该方法。浏览器会自动下载该文件。例如&#xff1a…...

什么是 ThreadLocal?

ThreadLocal 是 Java 中的一个类,用于在多线程环境下,为每个线程提供独立的变量副本。每个线程可以通过 ThreadLocal 存储和获取数据,而不会影响其他线程的数据。这在某些情况下非常有用,特别是当多个线程需要访问共享数据,但又希望保持数据的隔离性时。 ThreadLocal 主要…...

CANOCO5.0实现冗余分析(RDA)最详细步骤

在地理及生态领域会常使用RDA分析&#xff0c;RDA的实现路径也有很多&#xff0c;今天介绍一下CANOCO软件的实现方法。 1.软件安装 时间调整到2010年 2.数据处理 得有不同的物种或者样点数值&#xff0c;再加上环境因子数据。 3.软件运行 4.结果解读 结果解读主要把握这几点…...

【tkinter 专栏】掷骰子游戏

文章目录 前言本章内容导图1. 需求分析2. 系统功能结构3. 设计流程4. 系统开发环境5. 系统预览6. 窗口布局7. 功能实现用户和电脑选择骰子的点数大小摇骰子过程实现判断游戏结果单击开始按钮进行游戏源代码汇总前言 本专栏将参考《Python GUI 设计 tkinter 从入门到实践》书籍…...

19 NAT穿透|python高级

文章目录 网络通信过程NAT穿透 python高级GIL锁深拷贝与浅拷贝私有化import导入模块工厂模式多继承以及 MRO 顺序烧脑题property属性property装饰器property类属性 魔法属性\_\_doc\_\_\_\_module\_\_ 和 \_\_class\_\_\_\_init\_\_\_\_del\_\_\_\_call\_\_\_\_dict\_\_\_\_str…...

2023常见前端面试题

以下是一些2023年秋招常见的前端面试题及其答案&#xff1a; 1. 请解释一下什么是前端开发&#xff1f; 前端开发是指使用HTML、CSS和JavaScript等技术来构建网页和用户界面的过程。前端开发人员负责将设计师提供的视觉设计转化为可交互的网页&#xff0c;并确保网页在不同设备…...

登录校验-JWT令牌-生成和校验

目录 JWT-生成 具体代码 运行结果如下 JWT-校验 具体代码 运行结果如下 小结 JWT-生成 具体代码 /*** 测试JWT令牌的生成*/Testpublic void TestJWT() {// 设置自定义内容Map<String, Object> claims new HashMap<>();claims.put("id", 1);claims…...

GIT 常用指令

基础指令 $ git init #初始化仓库&#xff0c;在该文件夹创建的为workspace$ git add . #已暂存 [.通配符&#xff0c;全部添加]$ git commit -m "log add file" #提交到仓库,并写了日志 ”log add file“$ git status #查看状态&#xff0c;可查看被修改的文件…...

多目标优化

https://zhuanlan.zhihu.com/p/158705342 概念 单目标优化只有一个优化目标&#xff0c;所以可以比较其好坏。 但是多目标优化&#xff0c;在需要优化多个目标时&#xff0c;容易存在目标之间的冲突&#xff0c;一个目标的优化是以其他目标劣化为代价的&#xff0c;所以我们要…...

odoo的优势

plus&#xff0c;主要是为了能尽早通过开发者审核&#xff0c;加入到chatgpt4 api的开发中去&#xff0c;接入到我们odoo aiCenter中。4的回答&#xff0c;明显比3.5的更聪明了。 可能是由于国内的特殊情况吧&#xff0c;我们的chatgpt模块很受欢迎&#xff0c;我也被问了不少…...

Spring Boot(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot 前后端分离)【三】

&#x1f600;前言 本篇博文是关于Spring Boot(Vue3ElementPlusAxiosMyBatisPlusSpring Boot 前后端分离)【三】的分享&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我…...

AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览

1. 本期目标 前几期主要分析了 ai_agent 项目的对话主链路、Advisor、多轮记忆和 RAG 检索增强。到目前为止&#xff0c;智能体已经具备了这些能力&#xff1a; 能够和用户多轮对话 能够记住当前会话上下文 能够参考本地知识库回答 能够通过 RAG 检索增强回答质量但是这些能力…...

快速上手Notepad2-mod:5个步骤打造你的专属轻量级代码编辑器

快速上手Notepad2-mod&#xff1a;5个步骤打造你的专属轻量级代码编辑器 【免费下载链接】notepad2-mod LOOKING FOR DEVELOPERS - Notepad2-mod, a Notepad2 fork, a fast and light-weight Notepad-like text editor with syntax highlighting 项目地址: https://gitcode.c…...

HTML到DOCX格式转换的技术实现与解决方案

HTML到DOCX格式转换的技术实现与解决方案 【免费下载链接】html-to-docx HTML to DOCX converter 项目地址: https://gitcode.com/gh_mirrors/ht/html-to-docx 在Web应用开发和企业文档处理流程中&#xff0c;HTML内容与Office文档格式之间的转换一直是一个技术难点。传…...

论文的重复率是什么?

论文重复率&#xff0c;说直白一点&#xff0c;就是你的论文内容和数据库里已有内容的文字相似比例。但这里有个很多人会误解的点&#xff1a;重复率 ≠ 抄袭率。查重系统本质上是在做“文本比对”&#xff0c;不是在判断你的主观意图。比如你自己写了一句&#xff1a;“随着数…...

终极密码学工具箱ToolsFx:30+编码转换与一键解码的完整解决方案

终极密码学工具箱ToolsFx&#xff1a;30编码转换与一键解码的完整解决方案 【免费下载链接】ToolsFx 跨平台密码学工具箱。包含编解码&#xff0c;编码转换&#xff0c;加解密&#xff0c; 哈希&#xff0c;MAC&#xff0c;签名&#xff0c;大数运算&#xff0c;压缩&#xff0…...

5步快速上手ComfyUI JoyCaption插件:AI图片字幕生成的终极指南

5步快速上手ComfyUI JoyCaption插件&#xff1a;AI图片字幕生成的终极指南 【免费下载链接】ComfyUI_SLK_joy_caption_two ComfyUI Node 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_SLK_joy_caption_two 你知道吗&#xff1f;现在你可以用AI为任何图片自动生…...

Visual Studio Uninstaller:深度系统清理架构与BURN引擎逆向工程实践

Visual Studio Uninstaller&#xff1a;深度系统清理架构与BURN引擎逆向工程实践 【免费下载链接】VisualStudioUninstaller Visual Studio Uninstallation sometimes can be unreliable and often leave out a lot of unwanted artifacts. Visual Studio Uninstaller is desig…...

FRED案例:矩形微透镜阵列

介绍小透镜阵列可应用在很多方面&#xff0c;其中包含光束均匀化。本文演示了一个用于在探测器上创建均匀的非相干照度的成像微透镜阵列的设计。输入光束具有高斯轮廓&#xff0c;半宽度等于微透镜阵列大小&#xff0c;并且显示了其功率轮廓被微透镜阵列消除掉。系统输出简单示…...

3个真实场景解密:如何用btcrecover找回遗忘的比特币钱包密码

3个真实场景解密&#xff1a;如何用btcrecover找回遗忘的比特币钱包密码 【免费下载链接】btcrecover An open source Bitcoin wallet password and seed recovery tool designed for the case where you already know most of your password/seed, but need assistance in try…...

CentOS 7上编译glibc 2.28踩坑全记录:从gcc、make升级到最终成功

CentOS 7编译glibc 2.28实战&#xff1a;从工具链升级到系统兼容性破解 当你在CentOS 7服务器上部署最新开发工具时&#xff0c;突然弹出/lib64/libc.so.6: version GLIBC_2.28 not found的报错&#xff0c;这就像一记闷棍——系统基础库已无法满足现代软件需求。本文将带你经…...