【Docker】- 02 Docker-Compose
Docker-Compose
- Docker-Compose
- 1 下载并安装Docker-Compose
- 1.1 下载Docker-Compose
- 1.2 设置权限
- 1.3 配置环境变量
- 1.4 测试
- 2 Docker-Compose管理MySQL和Tomcat容器
- 3 使用docker-compose命令管理容器
- 4 docker-compose配合Dockerfile使用
- 4.1 docker-compose文件
- 4.2 Dockerfile文件
- 4.3 运行
Docker-Compose
之前运行一个镜像,需要添加大量的参数,可以通过Docker-Compose编写这些参数。而且Docker-Compose可以帮助我们批量的管理容器。这些信息只需要通过一个docker-compose.yml文件去维护即可。
1 下载并安装Docker-Compose
1.1 下载Docker-Compose
github官网搜索docker-compose,下载1.24.1版本的Docker-Compose
下载路径:https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64
最近期的下载路径:https://github.com/docker/compose/releases/download/v2.18.1/docker-compose-linux-x86_64
1.2 设置权限
需要将DockerCompose文件的名称修改一下,给予DockerCompose文件一个可执行的权限
mv docker-compose-Linux-x86_64 docker-compose
chmod 777 docker-compose
1.3 配置环境变量
方便后期操作,配置一个环境变量
将docker-compose文件移动到了/usr/local/bin , 修改了/etc/profile文件,给/usr/local/bin配置到了PATH中
mv docker-compose /usr/local/binvi /etc/profile
# 添加内容: export PATH=$JAVA_HOME:/usr/local/bin:$PATHsource /etc/profile
1.4 测试
在任意目录下输入docker-compose
2 Docker-Compose管理MySQL和Tomcat容器
yml文件以key: value方式来指定配置信息
多个配置信息以换行+缩进的方式来区分
在docker-compose.yml文件中,不要使用制表符
version: '3.1'
services:mysql: # 服务的名称restart: always # 代表只要docker启动,那么这个容器就跟着一起启动image: daocloud.io/library/mysql:5.7.4 # 指定镜像路径container_name: mysql # 指定容器名称ports:- 3306:3306 # 指定端口号的映射environment:MYSQL_ROOT_PASSWORD: root # 指定MySQL的ROOT用户登录密码TZ: Asia/Shanghai # 指定时区volumes:- /opt/docker_mysql_tomcat/mysql_data:/var/lib/mysql # 映射数据卷tomcat:restart: alwaysimage: daocloud.io/library/tomcat:8.5.15-jre8container_name: tomcatports:- 8080:8080environment:TZ: Asia/Shanghaivolumes:- /opt/docker_mysql_tomcat/tomcat_webapps:/usr/local/tomcat/webapps- /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs
3 使用docker-compose命令管理容器
在使用docker-compose的命令时 ,默认会在当前目录下找docker-compose.yml文件
- 基于docker-compose.yml启动管理的容器
- 关闭并删除容器
- 开启|关闭|重启已经存在的由docker-compose维护的容器
- 查看由docker-compose管理的容器
- 查看日志
# 1. 基于docker-compose.yml启动管理的容器
docker-compose up -d# 2. 关闭并删除容器
docker-compose down# 3. 开启|关闭|重启已经存在的由docker-compose维护的容器
docker-compose start|stop|restart# 4. 查看由docker-compose管理的容器
docker-compose ps# 5. 查看日志
docker-compose logs -f
4 docker-compose配合Dockerfile使用
使用docker-compose.yml文件以及Dockerfile文件在生成自定义镜像的同时启动当前镜像,并且由docker-compose去管理容器
4.1 docker-compose文件
编写docker-compose.yml文件
# yml文件
version: '3.1'
services:ssm:restart: alwaysbuild: # 构建自定义镜像context: ../ # 指定dockerfile文件的所在路径dockerfile: Dockerfile # 指定Dockerfile文件名称image: ssm:1.0.1container_name: ssmports:- 8081:8080environment:TZ: Asia/Shanghai
4.2 Dockerfile文件
编写Dockerfile文件
from daocloud.io/library/tomcat:8.5.15-jre8
copy ssm.war /usr/local/tomcat/webapps
4.3 运行
测试效果
# 可以直接启动基于docker-compose.yml以及Dockerfile文件构建的自定义镜像
docker-compose up -d
# 如果自定义镜像不存在,会帮助我们构建出自定义镜像,如果自定义镜像已经存在,会直接运行这个自定义镜像
# 重新构建的话。
# 重新构建自定义镜像
docker-compose build
# 运行当前内容,并重新构建
docker-compose up -d --build
相关文章:
【Docker】- 02 Docker-Compose
Docker-Compose Docker-Compose1 下载并安装Docker-Compose1.1 下载Docker-Compose1.2 设置权限1.3 配置环境变量1.4 测试 2 Docker-Compose管理MySQL和Tomcat容器3 使用docker-compose命令管理容器4 docker-compose配合Dockerfile使用4.1 docker-compose文件4.2 Dockerfile文件…...
工业相机的Pixel Binning和Pixel Skipping
一般图像传感器的不同分辨率都对应着不同的帧率。如果想要提高帧率,就要考虑是否需要缩小视野。若不希望视野缩小,就需要减小分辨率(resolution)。常用的减少分辨率的两种采样方式是:Skipping和Binning。 什么是Binni…...
c++ 11标准模板(STL) std::set(八)
定义于头文件 <set> template< class Key, class Compare std::less<Key>, class Allocator std::allocator<Key> > class set;(1)namespace pmr { template <class Key, class Compare std::less<Key>> using se…...
linux服务器断电重启后,发现时间误差八小时
文章目录 问题现象排查与解决时间同步与设置服务器时钟介绍 问题现象 客户的服务器已部署好平台,放入了机房,运行正常。服务器系统时间设置东八区(CST),时间日期也已修改正确客户是我省的某小县城,某台晚上…...
兼容人大金仓,异常信息报错解决大全
乱码报错 ISO-8859-1 SQL 错误 [55006]: : "ssss" (kbjdbc: autodetected server-encoding to be ISO-8859-1, if the message is not readable, please check database logs and/or host, port, dbname, user, password, pg_hba.conf) Detail: 3. : "sss…...
短睡眠 堀大辅 超短眠 人生更丰富
堀大辅是位每天只睡半小时的日本狠人,更多信息自行百度。以下内容,个人收集总结,仅供参考。 堀大辅大胆假设「只要能够减少睡眠的时间,我就能过得更充实」,便与朋友付诸行动,通过纪录观察每天的睡眠时数&a…...
私有GitLab仓库 - 本地搭建GitLab私有代码仓库并随时远程访问「内网穿透」
文章目录 前言1. 下载Gitlab2. 安装Gitlab3. 启动Gitlab4. 安装cpolar内网穿透5. 创建隧道配置访问地址6. 固定GitLab访问地址6.1 保留二级子域名6.2 配置二级子域名 7. 测试访问二级子域名 转载自远控源码文章:Linux搭建GitLab私有仓库,并内网穿透实现公…...
Debezium系列之:Debezium镜像仓库Quay.io,使用Debezium镜像仓库的方法和案例
Debezium系列之:Debezium镜像仓库Quay.io,使用Debezium镜像仓库的方法和案例 一、Debezium镜像仓库变动二、镜像仓库[Quay.io](https://quay.io/organization/debezium)三、使用镜像仓库Quay.io方法四、使用镜像仓库下载Debezium UI一、Debezium镜像仓库变动 Debezium2.2版本…...
文心一言和ChatGPT最全对比
文心一言和ChatGPT都是基于深度学习技术的自然语言处理模型,有各自的优势和使用场景,无法简单地比较 ChatGPT 和文心一言哪一个功能更强大,它们各自具有优势和局限性,需要根据具体需求进行选择,以下一些具体对比&#…...
龙芯2K1000实战开发-平台介绍
文章目录 概要整体架构流程技术名词解释技术细节小结概要 龙芯 2K1000 处理器主要面向于网络应用,兼顾平板应用及工控领域应 用。采用 40nm 工艺,片内集成 2 个 GS264 处理器核,主频 1GHz,64 位 DDR3 控制器,以及各种系统 IO 接口。 整体架构 龙芯 2K1000 的结构如图 所…...
C++ map用法总结(整理)
1,map简介 map是STL的一个关联容器,它提供一对一的hash。 第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value); map以模板(泛型)方式实现,可以存储任意类型的…...
面向对象的第二个基本特征:继承011026
1.什么是继承? 生活中: 继承 ---> 延续 ---> 扩展 代码中: 继承 ---> 重复使用已有的类的代码(复用) ---> 扩展已有类的代码(扩展) 2.为什么要继承? ① 代码的复用和…...
机器学习项目实战-能源利用率 Part-3(特征工程与特征筛选)
博主前期相关的博客可见下: 机器学习项目实战-能源利用率 Part-1(数据清洗) 机器学习项目实战-能源利用率 Part-2(探索性数据分析) 这部分进行的特征工程与特征筛选。 三 特征工程与特征筛选 一般情况下我们分两步走…...
WebSocket的那些事(2-实操篇)
目录 一、概述二、Websocket API1、引入相关依赖2、配置WebSocket处理器3、WebSocket配置4、测试 三、总结 一、概述 在上一节 WebSocket的那些事(1-概念篇)中我们简单的介绍了关于WebSocket协议的相关概念、与HTTP的联系区别等等。 这一节将会带来Web…...
BurpSuite—-Target模块(目标模块)
前言 本文主要介绍BurpSuite—-Target模块(目标模块)的相关内容 关于BurpSuite的安装可以看一下之前这篇文章: http://t.csdn.cn/cavWt Target功能 目标工具包含了SiteMap,用你的目标应用程序的详细信息。它可以让你定义哪些对象在范围上为你目前的工…...
部门来了个测试开发,听说是00后,上来一顿操作给我看呆了...
公司新来了个同事,听说大学是学的广告专业,因为喜欢IT行业就找了个培训班,后来在一家小公司实习半年,现在跳槽来我们公司。来了之后把现有项目的性能优化了一遍,服务器缩减一半,性能反而提升4倍!…...
Godot引擎 4.0 文档 - 入门介绍 - Godot简介
本文为Google Translate英译中结果,DrGraph在此基础上加了一些校正。英文原版页面:Introduction to Godsot — Godot Engine (stable) documentation in English Godot简介 本文旨在帮助您确定 Godot 是否适合您。我们将介绍该引擎的一些广泛功能&#…...
数据通信基础 - 码元速率 和 数据速率 详解
文章目录 1 概述1.1 码元速率(波特率)1.2 数据速率(比特率)1.3 码元速率 和 数据速率 换算 2 网工软考真题 1 概述 1.1 码元速率(波特率) 码元速率:表示单位时间内信号波形的变换次数…...
听我一句劝,别去外包,干了三年,废了....
先说一下自己的情况,大专生,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...
全域兴趣电商:国货品牌的新策略、新玩法
【潮汐商业评论/原创】 消费的方向标已经变了。 在消费市场的滚滚浪潮里,国人的“衣食住行”在全面的“国货化”,一个个有颜值有实力的国货品牌如雨后春笋般出现在寻常百姓家,如今在这片肥沃的土壤上正结出适合国人使用的果实。 01 国货二…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
