Docker——DockerCompose简单使用

news2024/11/18 1:31:33

目录

一、DockerCompose

 1.1 基本介绍

 1.2 Centos7安装DockerCompose

1.2.1 安装

1.2.2 修改文件权限

1.2.3 Base自动补全命令

二、部署微服务集群


一、DockerCompose

1.1 基本介绍

DockerCompose:可以基于Compose文件帮我们快速部署分布式应用,而无需手动一个个创建和运行容器

 帮助我们快速部署分布式应用,无需一个个微服务去构建镜像和部署

 简言之:分布式部署的好帮手,集群的快速部署

Compose文件:文本文件,通过指令定义集群中的每个容器如何运行

  我们之前使用docker run命令指定容器命名,而现在是用Compose文件定义集群中的n个容器运行,可以理解为docker run命令的集合,文件中不是直接用run,而是用指令代替了

 

语法例子:

版本是3.8,不同版本,语法有所差异

往下是两个微服务,一个是mysql,一个是web

 

新旧方式对比,发现左侧中的比较简洁,特别是web工程,最简洁

 

详细信息在下面的官网链接

Compose specification | Docker Documentation

 1.2 Centos7安装DockerCompose

1.2.1 安装

下面是慢慢的下,不推荐

curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

如果下载速度较慢,或者下载失败,可以使用课前资料提供的docker-compose文件,上传到`/usr/local/bin/`目录

 

 

1.2.2 修改文件权限

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

前后对比,发现运行完时绿了,绿了代表可以运行

 

1.2.3 Base自动补全命令

curl -L http://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

如果执行上面的命令执行出错,执行完这面这个命令再执行上面的命令

echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts

 

二、部署微服务集群

这个地方我还没有接触到过微服务集群,这个地方写的不是很熟悉,先记录一下,以后用的话再回来学

18-DockerCompose-部署微服务集群_哔哩哔哩_bilibili

案例:将微服务集群利用DockerCompose部署

  部署下面的文件

 

 网关是整个微服务的入口,其他的服务不会暴露端口,只有网关会暴露端口

 

我们部署之间我们应该先修改一下cloud-demo项目,将数据库、nacos地址都命名为docker-compose中的服务名(我们之前都写的是localhost),比如下图是我们更改之后的内容

 

使用maven打包工具,将项目中的每个微服务都打包为app.jar

因为我们上面配置Dockerfile文件夹的时候,配置的是到文件夹下找app.jar

 指定打包后的最终名称

 我们打包好的app.jar拷贝到cloud-demo中的每一个对应的子目录中

 将cloud-demo上传至虚拟机,利用docker-compose up -d来部署

   我们还是放到tmp目录

跑起来

docker-compose up -d

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/72800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql int(11)和Oracles nubmer(11) 的区别

先说Mysql int(11)到底代表什么意思 这里的int(11)不是表示限制int的长度为11,而是字符的显示宽度,在字段类型为int时,无论你显示宽度设置为多少,int类型能存储的最大值和最小值永远都是固定的 那么这个显示宽度到底有什么用呢&am…

vue项目中,js代码动态控制网页的link标签与title内容

最近正在开发一个微模块系统,产品想要根据子系统的不同,动态生成link标签与title中的内容,于是就做了一个简单的demo,希望分享出来给到后续有同样需求的伙伴,共勉。 首先肯定是需要有一套**.svg**的图标来对应相应的系…

Blender 纹理绘制

文章目录简介.进入纹理绘制.笔刷.自由线.模糊.涂抹.克隆.填充.遮罩.保存绘制好的纹理.简介. 1 纹理绘制允许我们直接在图片上画出图案 2 要求模型必须已经展开UV 进入纹理绘制. 1 左上角视窗类型里选择 3D视图/纹理绘制 笔刷. 自由线. 1 纹理:如果使用的是程…

Docker[6]-.DockerCompose

1 DockerCompose介绍 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。 一键启动所有的服务 Docker…

MySQL基础知识

一、数据库相关的简单命令 1、显示数据库 show databases; 2、创建数据库 create database 数据库名 character set 字符集 collate 指定字符集的校验规则; 注意: 数据库名应尽量避免使用关键字,如必须使用则需添加(倒引号);未…

欧洲的历史都经历了哪些时代?

欧洲历史起源于古希腊和罗马,后面分化出了法、意、德;经过罗马时代中世纪时期的黑暗后,欧洲觉醒出现文艺复兴,使欧洲开启了巨大的创造力。后面的大航海时代欧洲开始向外拓展势力范围,疯狂殖民,英国成为最大…

初级测试工程师(能找到工作的水平就行)1、学多久2、学什么?

看到这个主题,我认为自己还有点发言权吧。 我是普通二本院校的垫底学渣,全班成绩倒数第三,并且还是非计算机专业。现在毕业2年,从销售岗位跨越式跳槽软件测试岗。当然我的薪资也已逆袭,从2k到17k。 踩过不少新手的坑…

[附源码]计算机毕业设计JAVA中小型艺术培训机构管理系统

[附源码]计算机毕业设计JAVA中小型艺术培训机构管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: S…

数据库设计(一)

目录 数据库设计的基本概念: 数据库设计包括以下几个部分: 需求设计: 1、数据: 2、处理: 概念结构设计: 实体: 例如: 联系类型: 1、一对一: 2、一对多&a…

Hbase和Mysql存储数据量对比

目录 前言 生成数据 转换成hbase能够识别的HFile文件 导入HFile到hbase中 导入数据到Mysql 总结 前言 由于想知道hbase和mysql存储同样的一份数据需要的存储是否一样,故做的一下实验。 生成数据 脚本如下: #!/bin/basharray_brand([1]huawei […

Java-MySQL

数据库基础知识 先谈发音 MySQL如何发音?在国内MySQL发音有很多种,Oracle官方文档说他们念作My sequal[si:kwəl]。 数据库基本概念 1 ● 数据 数据(Data)是指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的、…

目标检测算法——人脸识别数据集汇总(附下载链接)

>>>深度学习Tricks&#xff0c;第一时间送达<<< &#x1f384;&#x1f384;近期&#xff0c;小海带在空闲之余&#xff0c;收集整理了一批人脸识别数据集供大家参考。 整理不易&#xff0c;小伙伴们记得一键三连喔&#xff01;&#xff01;&#xff01;&am…

用python给女朋友写个圣诞树玩玩~

嗨害大家好鸭&#xff01;我是小熊猫~ 虽然我们不过洋节&#xff0c;但是女朋友要的话&#xff0c;那顺手写一个吧 代码&#x1f386; 模块 [源码、资料电子书点击此处] import turtle as t from turtle import * import random as r import time圣诞树细节以及画布大小 画布…

如何读取MySQL中的数据存放到HDFS_大数据培训

大数据培训读取MySQL中的数据存放到HDFS 1 查看官方模板 [atguiguhadoop102 ~]$ python /opt/module/datax/bin/datax.py -r mysqlreader -w hdfswriter { “job”: { “content”: [ { “reader”: { “name”: “mysqlreader”, “parameter”: { “column”: [], “conne…

ROS2初学者2022教程

ROS2初学者2022教程 掌握 ROS2 基础知识并成为机器人操作系统开发人员 – 一步一步 课程英文名&#xff1a;ROS2 For Beginners (ROS Foxy, Humble - 2022) 此视频教程共15.0小时&#xff0c;中英双语字幕&#xff0c;画质清晰无水印&#xff0c;源码附件全 下载地址 课程编…

手机视频如何修改封面?推荐这些修改方法

大家在社交平台上发布视频的时候会发现&#xff0c;一个好看的视频封面可以吸引很多的网友进行浏览和观赏。所以视频封面一直是视频创作者们不可忽略的一部分。那么你们知道手机视频怎么修改封面吗&#xff1f;如果你们想知道的话&#xff0c;那就接着往下看看吧&#xff0c;下…

Java_笔记_多态_包_final_权限修饰符_代码块

封装&#xff1a;对象代表什么&#xff0c;就得封装对应的数据&#xff0c;并提供数据对应的行为。 一、多态&#xff1a;对象的多种形态。同类型的对象&#xff0c;表现出的不同形态。 1.多态的表现形式&#xff1a;父类类型 对象名称 子类对象; 学生形态 对象 Student s …

Java异常(比较全)

前言&#xff1a;想要学好异常&#xff0c;需要了解JVM虚拟机知识&#xff0c;这里涉及面试常问的内存溢出错误解决办法 一、异常是什么&#xff1f; 定义 程序运行过程中&#xff0c;由于某些原因导致程序出错&#xff0c;从而结束程序运行&#xff0c;这就称为异常 java异常…

C++经典题目

目录 P62 3.6 求圆周长面积 P80 3 华氏转摄氏 P80 10 分段函数 P81 21 数列求和 P82 24 打印图形 P229 6 长方体体积 P384 4 printArea 题目来源于C程序设计&#xff08;第4版&#xff09; P62 3.6 求圆周长面积 设圆半径r1.5&#xff0c;圆柱高h3&#xff0c;求圆周长…

React生命周期中有哪些坑?如何避免?

在讨论React 的生命周期的时候&#xff0c;一定是在讨论类组件&#xff0c;因为函数组件并没有生命周期的概念&#xff0c;它本身就是一个函数&#xff0c;只会从头执行到尾巴 其实生命周期只是一个抽象的概念&#xff0c;大部分人看到生命周期想到的往往都componentDidMount&…