Docker容器引擎(5)

目录

一.docker-compose

docker-compose的三大概念:

yaml文件格式:

json文件格式:

docker-compose 配置模板文件常用的字段:

二.Docker Compose 环境安装:

查看版本:

准备好nginx 的dockerfile的文件:

编写配置文件docker-compose.yml:

创建并启动容器:


一.docker-compose

传统的容器管理:Dockerfile文件 --> 手动执行 docker build 一个个构建镜像 -> 手动执行 docker run 一个个创建启动容器

编排管理容器:Dockerfile文件 --> 在 docker compose 配置文件里定义好容器启动参数和依赖关系  -> 执行 docker-compose 命令指定配置文件一次性的自动完成所有镜像的构建和容器的创建启动

docker-compose 是一个可以实现在单机上对容器集群编排管理的工具。

使用python开发的,能运行docker的平台也都能用docker-compose编排管理容器。
本质就是在yaml格式的docker-compose配置模板文件里定义多个服务容器的启动参数和依赖关系,并使用docker-compose命令根据指定配置模板文件的配置来启动和管理容器集群。

docker-compose的三大概念:

项目project -> 包含一个或多个服务service -> 包含一个或多个容器container的镜像、端口映射、环境变量、依赖关系等启动参数

默认使用项目的目录名作为project的项目名,支持使用 -p 或 --project-name 来指定项目名称
项目目录里要包含一个 docker-compose 配置模板文件,默认为 docker-compose.yml,支持使用 -f 或 --file 来指定项目的配置模板文件
在配置模板文件里要包含一个或多个服务容器的配置,每个服务要包含容器的名称、镜像、映射端口、挂载点、网络模式、依赖关系等容器启动的配置参数

yaml文件格式:

文件名格式通常是以 .yaml .yml 为后缀,用 空格缩进 表示字段的层级关系,特性:可读性高,易于人类管理。


json文件格式:

文件名格式通常是以 .json 为后缀,用 大括号{} 表示字段的层级关系,每层字段除了最后一个字段都要用逗号,结尾,特性:易于api接口解析。
 

docker-compose 配置模板文件常用的字段:

image               使用本地镜像或从仓库拉取镜像创建容器
build:              使用dockerfile现场构建镜像创建容器
  context:
  dockerfile:
command             指定容器启动命令,会覆盖镜像中的CMD指令
container_name      --name
environment         -e  --env
network_mode        --network
network             指定加入的网络和IP    --IP
ports               -p
volumes             -v
volumes_from        --volumes-from ,版本3不支持
hostname            -h  --hostname
sysctls             --sysctl
links               --link
privileged          --privileged
restart             --restart
depends_on          指定有依赖关系的容器

二.Docker Compose 环境安装:

我们接着Docker容器引擎(3)dockerfile的服务器接着做,compose启动nginx:

查看版本:

Docker Compose 常用命令:

字段                                        描述
build                                       重新构建服务
ps                                          列出容器
up                                          创建和启动容器    
exec                                        在容器里面执行命令
scale                                       指定一个服务容器启动数量
top                                         显示容器进程
logs                                        查看容器输出
down                                        删除容器、网络、数据卷和镜像
stop/start/restart                          停止/启动/重启服务

准备好nginx 的dockerfile的文件:

编写配置文件docker-compose.yml:

查看镜像:

查看容器:

可以添加到变量中:

创建并启动容器:

docker-compose up -d

查看镜像,自动创建:

查看容器,启动状态:

docker   ps  -a

docker-compose ps

关闭docker-compose:

查看容器:

查看镜像:

访问页面:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mysql本地数据库连接失败?

情景:mysql本地连接失败,账号密码都没问题。 原因:本地mysql服务没有启动 解决方案: 1、进入本地mysql安装的bin目录下D:\mysql-8.0.35-winx64\mysql-8.0.35-winx64\bin(我的); 2、执行net st…

Android使用ScrollView导致鼠标点击事件无效

平台 测试平台: RK3288 Android8.1RK3588 Android 12 问题 首先, 这个问题的前提是, 使用的输入设备是**鼠标**, 普通的触摸屏并不会出现这个问题. 大致的流程是APP的UI布局中采用ScrollView作为根容器, 之后添加各类子控件, 在一起准备就绪后, 使用鼠标进行功能测试, 出现…

【Oracle云】OCI DevOps Services 教程 (3) - 创建自动化部署流水线【CD流水线】

欢迎来到【Oracle云】OCI DevOps Services教程的第三部分!在这一部分中,我们将介绍如何在OCI上创建自动化部署流水线,也称为持续部署(CD)流水线。OCI DevOps Services提供了一套标准的构建工具,帮助我们简化…

解决WARNING: IPv4 forwarding is disabled. Networking will not work的具体操作步骤

IPv4转发禁用警告:网络无法正常工作 在使用网络连接的过程中,我们可能遇到警告消息“WARNING: IPv4 forwarding is disabled. Networking will not work”(警告:IPv4转发已禁用,网络将无法正常工作)。这个…

2.2号作业

一 1.A 2. A 3. A 4. D 5. D 6. B 7. A 8. C 9. A 10. 二 1. 42 2. cerr 3. cout <<"\n" 4. 5 5. 0 6. 7. 20 8. 1.50 9. ssi2 i…

UE4学习笔记 FPS游戏制作2 制作第一人称控制器

文章目录 章节目标前置概念Rotator与Vector&#xff1a;roll与yaw与pitch 添加按键输入蓝图结构区域1区域2区域3区域4 章节目标 本章节将实现FPS基础移动 前置概念 Rotator与Vector&#xff1a; Vector是用向量表示方向&#xff0c;UE中玩家的正前方是本地坐标系的(1,0,0)&…

ARM架构可视化ROS消息方案部署

ARM架构可视化ROS消息方案部署 三种方案, 1. webviz 2. foxglove 3. rosviz 注: web要用firefox, chromimum用不了, 可能是因为取消了时间同步机制的原因 先说三种方案的优劣, webviz 延迟比较高, 但是部署相对简单, foxglove 部署比较费劲, 但是效果不错, 延迟低, 本文会尽…

k8s kubeadm部署安装详解

目录 kubeadm部署流程简述 环境准备 步骤简述 关闭 防火墙规则、selinux、swap交换 修改主机名 配置节点之间的主机名解析 调整内核参数 所有节点安装docker 安装依赖组件 配置Docker 所有节点安装kubeadm&#xff0c;kubelet和kubectl 定义kubernetes源并指定版本…

带大家做一个,易上手的家常芹菜炒腊肉

起锅 放入腊肉 加入清水 水包裹住腊肉即可 盖上盖子煮15分钟 一把芹菜 芹菜切段 清水洗干净 15分钟后 捞出腊肉 将腊肉切片 一块生姜 两瓣蒜 将蒜切片 单独装起来 生姜切片 和三个干辣椒装一起 起锅 下腊肉 不要放油 腊肉够油了 翻炒开后 倒入生姜 干辣椒 翻炒个一分…

STM32CAN2进入bus off 模式

工作遇到的问题记录 无人机CAN2整个进不了中断&#xff0c;通过查看寄存器判定出CAN节点进入了bus off mode 为何进入bus off &#xff0c;最后通过示波器看到整个CAN2总线波形就不对&#xff0c;总线出现了错误 Busoff的产生是一定是因为节点自身识别到自己发送错误&#xff…

Modbus协议学习第七篇之libmodbus库API介绍(modbus_write_bits等)

写在前面 在第六篇中我们介绍了基于libmodbus库的演示代码&#xff0c;那本篇博客就详细介绍一下第六篇的代码中使用的基于该库的API函数。另各位读者&#xff0c;Modbus相关知识受众较少&#xff0c;如果觉得我的专栏文章有帮助&#xff0c;请一定点个赞&#xff0c;在此跪谢&…

oracle19C 密码包含特殊字符@ 导致ORA-12154

oracle 19C 密码包含特殊字符 出现登录失败&#xff0c;针对此问题一次说个明白 ORA-12154: TNS:could not resolve the connect identifier specified Oracle 19c之前密码是可以包含特殊字符&#xff0c;但是如果包含特殊字符需要双引号 比如oracle11g 正常 如果密码包含特殊…

Redis的bitmap使用不当,我内存爆了

背景 最近发现Redis的内存持续暴涨&#xff0c; 涨的有点吓人&#xff0c;机器都快扛不住了&#xff0c;不得不进行Redis内存可视化分析&#xff0c;发现大量的String类型的大key 经分析&#xff0c;最近上线了页面UV的统计&#xff0c;那目前如何做的呢&#xff1f; 通过访…

【iOS ARKit】2D肢体动作捕捉

人体肢体动作捕捉在动漫影视制作、游戏CG 动画、实时模型驱动中有着广泛的应用&#xff0c;利用 ARKit&#xff0c;无须额外的硬件设备即可实现 2D和3D人体一系列关节和骨骼的动态捕捉&#xff0c;由于移动AR 的便携性及低成本&#xff0c;必将促进相关产业的发展。 ARBody Tr…

图片热区功能

一、需求描述及效果图 1.需求描述&#xff1a; 根据后端返回的坐标及人员信息&#xff0c;在图片上的相应位置添加图片热区功能&#xff0c;点击可展示出对应的人员信息。 图片可进行缩放 2.示例&#xff1a; &#xff08;定位是随便写的&#xff0c;仅做示例&#xff09; …

【Algorithms 4】算法(第4版)学习笔记 03 - 1.3 背包、队列和栈

文章目录 前言参考目录学习笔记0&#xff1a;预热1&#xff1a;栈1.1&#xff1a;栈的链表实现1.1.1 代码实现1.2&#xff1a;栈的数组实现1.2.1&#xff1a;定容栈1.2.2&#xff1a;可调整大小数组1.2.3&#xff1a;代码实现1.3&#xff1a;链表与数组的取舍2&#xff1a;队列…

MySQL原理(一)架构组成之逻辑模块(1)组成

总的来说&#xff0c;MySQL可以看成是二层架构&#xff0c;第一层我们通常叫做SQL Layer&#xff0c;在MySQL数据库系统处理底层数据之前的所有工作都是在这一层完成的&#xff0c;包括权限判断&#xff0c;sql解析&#xff0c;执行计划优化&#xff0c;query cache的处理等等&…

算法——A/算法通识

目录 一、复杂度分析 A/时间复杂度 B/空间复杂度 C/分析技巧 二、枚举分析 A/枚举算法介绍 B/解空间的类型 C/循环枚举解空间 三、模拟算法 四、递归 A/递归介绍 递归的两个关键要素&#xff1a; B/递归如何实现 C/递归和循环的比较 一、复杂度分析 A/时间复杂度…

AVL树

文章目录 AVL树平衡因子 AVL树结点的定义AVL树类和函数接口AVL树插入元素最小不平衡子树旋转 AVL树的验证参考源码 AVL树是对普通二叉搜索树的一种优化。当二叉搜索树插入的元素是有序的时候或者接近有序的时候&#xff0c;二叉搜索树的性能会大大降低。二叉搜索树可能会变成一…

中二少年工具箱(PC端)简介

同学们可以私信我加入学习群&#xff01; 正文开始 简介一、功能模块1.node版本管理工具 总结 简介 中二少年开发的中二少年工具箱&#xff0c;相信博主&#xff0c;功能不孬。 辅助自己开发工作&#xff0c;帮助新人快速入门&#xff0c;提供交互式文档辅助学习……如果还不…