centos7+docker dock-compose使用

news/2025/3/11 3:16:51/文章来源:https://www.cnblogs.com/mingcore/p/18586563

简介

Docker-Compose是Docker官方的开源项目,用于实现Docker容器集群的快速编排。

Compose简介

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

Compose使用步骤

  1. 使用Dockerfile定义应用程序的环境。
  2. 使用docker-compose.yml配置应用程序的服务,这个配置文件可以按照规则配置任意N个docker容器信息。
  3. 执行docker-compose up命令来启动并运行整个应用程序。

功能

  1. 定义和运行多容器应用:Docker Compose允许你通过一个配置文件来定义多个容器的运行方式,并轻松地启动、停止和重启整个应用。
  2. 容器编排:Docker Compose支持容器的编排,可以根据容器的依赖关系自动启动和停止容器,确保应用在运行时具有正确的环境。
  3. 网络配置:Docker Compose支持自定义网络配置,使得容器之间的通信更加灵活和可靠。
  4. 数据卷管理:Docker Compose支持数据卷的挂载和管理,可以轻松地共享和持久化容器数据。
  5. 扩展性:Docker Compose具有良好的扩展性,可以轻松地添加和删除容器,以满足应用的需求。

组成

  1. 工程(Project)
  • 由一组关联的应用容器组成一个完整的业务单元,在docker-compose.yml文件中定义。
  • Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定,工程名即为当前目录名。
  • Docker-Compose的工程配置文件默认路径是当前目录下的docker-compose.yml,可使用yml或yaml作为文件扩展名,可通过环境变量COMPOSE_FILE或-f参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。
  • Docker-Compose允许用户通过一个单独的 docker-compose.yml 模板文件(YAML格式)来定义一组相关联的应用容器为一个项目。
  1. 服务(Service)
  • 一个应用的容器,例如支付服务、订单服务、库存服务、Nginx服务、Mysql服务等。
  • 一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。
  • 一个服务当中可包括多个容器实例。
  • Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡,比如:Consul。
  1. 容器(Container)

安装

  1. 前提:必须先安装Docker。
  2. 打开https://github.com/docker/compose/releases,往下拖动滚动条,找到docker-compose-linux-x86_64安装包进行下载。

  1. 下载后将文件名重命名为docker-compose
  2. 将docker-compose文件通过工具上传到Centos系统下的url/local/bin目录中。

  1. 授予执行权限
sudo chmod +x /usr/local/bin/docker-compose

  1. 创建软连接,类似于windows系统的快捷方式
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

  1. 查看docker-compose版本
docker-compose version

部署服mysql服务

  1. 创建目录,将docker-compose文件都存放在此目录,并在该目录下新建mysql文件夹。
mkdir -p /home/docker-compose
cd /home/docker-compose
mkdir mysql
cd mysql

  1. 在mysql目录下创建docker-compose.yml
touch docker-compose.yml
  1. 编辑文件
vim docker-compose.yml

插入配置信息并保存,这里演示启动两个mysql服务。

注意:yaml文件编写一定要注意格式。

version: '1.0' #自定义版本
services: #配置服务,可以配置多个服务mysqlservice1: #自定义服务名称image: mysql:latest #镜像以及版本container_name: mysql_container1 #容器名称restart: always #是否跟随系统启动自动启动ports: #端口映射,宿主机对外暴露端口:容器端口- 3309:3306volumes: #目录映射- /root/docker-compose/mysqlservice1/data:/var/lib/mysql-compose- /root/docker-compose/mysqlservice1/config:/etc/mysql-compose/my.cnfenvironment: #mysql的环境配置MYSQL_ROOT_PASSWORD: 123456mysqlservice2: #自定义服务名称image: mysql:latest #镜像以及版本container_name: mysql_container2 #容器名称restart: always #是否跟随系统启动自动启动ports: #端口映射,宿主机对外暴露端口:容器端口- 3310:3306volumes: #目录映射- /root/docker-compose/mysqlservice2/data:/var/lib/mysql-compose- /root/docker-compose/mysqlservice2/config:/etc/mysql-compose/my.cnfenvironment: #mysql的环境配置MYSQL_ROOT_PASSWORD: 123456

  1. 启动容器
docker-compose -f /home/docker-compose/mysql/docker-compose.yml up -d#参数解析
-d:表示后台运行
up: 启动
-f: 指定docker-compose文件位置

其它命令

docker-compose down #停止容器
docker-compose restart #重启容器
  1. 查看容器信息
docker ps

  1. 测试连接mysql

docker-compose常用命令

格式:docker-compose + 命令。

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jjyh

aHR0cHM6Ly9tYmFuay5qamViYW5rLmNuL2pqY2NiV2ViL2luZGV4Lmh0bWwjL2ZpbmFuY2lhbE1hbmFnZS9saXN0P2ZpcnN0RmxhZz0zJnNlY29uZEZsYWc9JnNvcnRGbGFnPSZwcmRUeXBlRmxhZz0mY2xhc3NpZnlMaXN0VmFsdWU9JlBkQXJyYXlWYWx1ZT0mY2xhc3N0b3A9dHJ1ZQ== 包分析抓包看到的四个api的请求url皆为htt…

Net中RabbitMq.Client7.0通过依赖注入DI来管理RabbitMQ客户端的生命周期

在 RabbitMQ.Client 7.0.0 版本中, IModel 在 RabbitMQ.Client 7.0.0-alpha2 版本中已经被重命名,现在应该使用 IChannel 替代 IModel, IChannel 不再提供 CreateBasicProperties 方法。需要直接使用 BasicProperties 类来创建消息属性。 前言 关于RabbitMq的更多知识点在:…

论文泛读《PICCOLO : Exposing Complex Backdoors in NLP Transformer Models》

发表时间:2022 期刊会议:IEEE Symposium on Security and Privacy (SP) 论文单位:Purdue University 论文作者:Yingqi Liu, Guangyu Shen, Guanhong Tao, Shengwei An, Shiqing Ma, Xiangyu Zhang 方向分类:Backdoor Attack 论文链接 开源代码摘要 后门可以被注入到NLP模型…

数据库管理与开发基础教程复习(二)

Oraclec 常用工具 简单介绍: SQL*PLUS 由开始菜单启动和命令行启动 企业管理器 OEM Oracle 数据库集成管理平台 SOL PLUS常用命令 连接与断开数据库连接命令: -connect -disconnect 查看表结构命令: describe (desc) SOL*PLUS 环境参数设置命令 -set -arraysize -linesize -…

【Git基础】Gitee/GitHub使用

gitee介绍 gitee译为码云,是国内创建的一个类似与github的网站,可以上传自己的代码放在云端保存,下面介绍gitee如何使用,github类似使用操作。 git工具安装及基础 【git工具安装及基本使用】 gitee仓库创建.gitignore文件作用 git提交时需要忽略部分文件或目录本地仓库设置…

威联通-002 Docker镜像下载

@目录前言操作大纲1.登录阿里云镜像服务2.创建个人容器3.GitHub复制代码到本地库、配置信息4.点击修改自己想要拉取的镜像5.进入阿里云查看6.创建容器参考(可用)前言 由于国内几乎所有的docker库的封锁,现在不能进行docker镜像的拉取操作,尝试很多种方法都失败了,最后总结…

Mysql 一主一从配置

Mysql 一主一从配置 环境信息ip地址 主机信息 角色 mysql版本192.168.1.19 S600 主 8.0.40-0ubuntu0.20.04.1192.168.1.20 H840 从 8.0.40-0ubuntu0.20.04.1本环境已完成2台Mysql单机安装,Mysql单机安装操作文档 具体操作 Mysql主机配置 配置文件修改修改配置Master配置/etc/m…

Mycat2+Mysql一主一从实现读写分离配置

Mycat2+Mysql一主一从实现读写分离配置 前置配置Mysql一主一从搭建 Mycat2环境搭建环境信息ip地址 软件 角色 版本192.168.1.19 Mysql 主 8.0.40-0ubuntu0.20.04.1192.168.1.19 Mycat2 —— 1.21-release-3-14192.168.1.20 Mysql 从 8.0.40-0ubuntu0.20.04.1操作步骤 1. 修改并…

体验iOS手机群控免费苹果手机免越狱群控:银河中控全面解析

在多设备管理的需求日益增长的今天,能够高效地管理和控制多台iOS设备成为了一个重要的课题。对于不想或不能进行越狱操作的用户来说,找到一种安全、合法且高效的解决方案显得尤为重要。本章将深入探讨一款名为“银河中控”的免费苹果手机免越狱群控系统,帮助您了解其功能特性…

k8s~关于非常啰嗦的标签和选择器

总感觉k8s中定义的deplyment和service非常的啰嗦,尤其是在选择器的定义上,但没办法,它的设计总有它的道理。svc(spec.selector.app)deployment(metadata.labels.app,spec.selector.matchLabels.app)pods(metadata.labels.app)nginx的部署 下面是一个 Kubernetes YAML 文件示…

Windows11中安装SQL Server 2019

介绍 Microsoft SQL Server 是一种关系数据库管理系统 (RDBMS)。 应用程序和工具连接到 SQL Server 实例或数据库,并使用 Transact-SQL (T-SQL) 进行通信。 SQL Server Management Studio (SSMS) 是一种集成环境,用于管理任何 SQL 基础结构。 使用 SSMS 访问、配置、管理和开…

python项目安装虚拟环境

滴水成冰,世间不存在毫无意义的付出,时间终会给你答案。