Docker单机容器编排工具Docker compose

Docker 从入门到实践系列四 - Docker 容器编排利器 Docker Compose services:mysql: # 服务名称image: mysql:8 # 创建容器时所需的镜像container_name: mysql8 # 容器名称,默认为"工程名称_服务条目名称_序号"ports: # 宿主机与容器的端口映射关系“3306:3306” # 左边宿主机端口:右边容器端口environment: # 创建容器时所需的环境变量volumes:然后通过相关命令即可完成容器的创建,停止或删除等一系列操作。services:mycentos: # 服务名称。 阅读详情

Docker单机容器编排工具Docker compose

Docker compose介绍

Docker的原则是一个容器只做一件事。一个服务比如zabbix,有三个组件(web前端、数据库、server),那我需要起三容器,三个命令。还有wordpress,就算不把php和nginx分离,也需要俩容器(nginxphp、数据库)。那我要想起个ELK呢?ES都得两个或三个,比较麻烦。所以就有需要docker compose。

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

比如前面harbor就是用compose写的。

[root@docker02 ~]# cd harbor 
[root@docker02 ~/harbor]# ll
total 605152
drwxr-xr-x 3 root root        20 Jan  3 14:15 common
-rw-r--r-- 1 root root      5285 Jan  3 14:15 docker-compose.yml 
-rw-r--r-- 1 root root 619632806 Sep  4  2019 harbor.v1.9.0.tar.gz
-rw-r--r-- 1 root root      5799 Jan  3 14:12 harbor.yml
-rwxr-xr-x 1 root root      5088 Sep  4  2019 install.sh
-rw-r--r-- 1 root root     11347 Sep  4  2019 LICENSE
-rwxr-xr-x 1 root root      1748 Sep  4  2019 prepare

好多官方网站都会给你写好docker-compose。比如wordpress

https://hub.docker.com/_/wordpress

在这里插入图片描述

Docker compose版本说明

官方版本说明:https://docs.docker.com/compose/compose-file/compose-versioning

Docker compose安装

安装yum源里的最新版本

[root@docker01 ~]# yum install -y docker-compose
[root@docker01 ~]# docker compose version
Docker Compose version v2.20.2

它其实就是装了个可执行文件而已,并没有什么程序

[root@docker01 ~]# which docker-compose 
/usr/bin/docker-compose

[root@docker01 ~]# cat /usr/bin/docker-compose
#!/usr/bin/python3.6
# EASY-INSTALL-ENTRY-SCRIPT: 'docker-compose==1.18.0','console_scripts','docker-compose'
__requires__ = 'docker-compose==1.18.0'
import re
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(
        load_entry_point('docker-compose==1.18.0', 'console_scripts', 'docker-compose')()
    )

Docker compose模板

## 是yaml语法

version: '版本号'

services:
  服务名称1: #(名字,自定义)
     image: 容器镜像
     container_name: 容器名称
     environment:
       环境变量1: 值1       #(新版本语法)
       - 环境变量2: 值2     #(老版本语法)
     volumes:
       - 宿主机数据目录:容器内数据目录
     ports:
       - 宿主机端口:容器内映射端口
     networks:
       - 自定义网络名称
     links:
       - namenode 
     command:
       - 数据库使用字符集变量时可以用
     restart: always
          
  服务名称2:
     image: 容器镜像
     container_name: 容器名称
     environment:
       - 环境变量1=值1
       - 环境变量2=值2
     user: 宿主机用户:容器用户
     volumes:
       - 宿主机数据目录:容器内数据目录
     ports:
       - 宿主机端口:容器内映射端口
     networks:
       - 自定义网络名称
     links:
       - namenode 
     depends_on:
       - 依赖服务
     restart: always
     
  networks:
    default:
    externnal: true
    name: andrew_net

     wordpress:
       depends_on:
         - db
       image: wordpress:latest
       volumes:
         - /data/web_data:/var/www/html
       ports:
         - "80:80"
       restart: always
       environment:
         WORDPRESS_DB_HOST: db
         WORDPRESS_DB_USER: wordpress
         WORDPRESS_DB_PASSWORD: wordpress
 
## 说明 
deponds on 依赖
比如zabbix-sever它要mysql起来才能link到

使用Docker Compose的三步曲

1、准备好镜像(下载现成的或者是自己Dockerfile构建的)

2、写docker-compose:套模板即可,yaml语法
3、启动Compose,就相当于启动应用

实操:用docker compose起MySQL

参考上节起MySQL容器的命令

docker run \
--name wp_db \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD='123' \
-e MYSQL_USER='wp_user' \
-e MYSQL_PASSWORD='123' \
-e MYSQL_DATABASE='wordpress' \
-d mysql:5.7.38

## Xshell如何调缩进:按住alt键,全选
# 写docker compose
[root@docker01 ~]# mkdir mysql
[root@docker01 ~]# cd mysql
[root@docker01 ~/mysql]# ll
total 0
[root@docker01 ~/mysql]# vim docker-compose.yml
version: '3.3'   #//写1.0会报错

services:
  mysql57:   #//服务名(自定义)
    image: mysql:5.7.38
    container_name: andrew_test_db
    environment:
      MYSQL_ROOT_PASSWORD: '123'
      MYSQL_USER: 'andrew'
      MYSQL_PASSWORD: '123'
      MYSQL_DATABASE: 'test_andrew'
    volumes:
       - /data/test:/var/lib/mysql
    ports:
       - 3306:3306
    command:
       --character-set-server=utf8
    restart: always
    
# 写好后启动容器,注意要在目录里执行
[root@docker01 ~/mysql]# docker-compose up -d
Creating andrew_test_db ... done
不加-d会在前台启动

[root@docker01 ~]# docker exec -it andrew_test_db /bin/bash
bash-4.2# mysql -uroot -p123
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| andrew_test        |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)

# 总结:看到没有,有了compose文件,连docker run都用不着了,只要写好compose文件,docker-compose up一条命令起服务

Docker compose 相关命令

## 前台启动docker compose并查看日志
[root@docker01 ~/mysql]# docker-compose up

## 如启动没问题即可放后台启动
[root@docker01 ~/mysql]# docker-compose up -d
Starting test_db ... done

## 停止所有服务
[root@docker01 ~/mysql]# docker-compose stop
Stopping test_db ... done

## 启动所有服务
[root@docker01 ~/mysql]# docker-compose start
Starting mysql57 ... done

## 停单个
[root@docker01 ~/mysql]# docker-compose stop mysql57
Stopping test_db ... done

## 查看所有日志
[root@docker01 ~/mysql]#  docker-compose logs

## 查看指定日志
[root@docker01 ~/mysql]#  docker-compose logs mysql57

## 删除容器
[root@docker01 ~/mysql]# docker-compose rm 
Going to remove test_db
Are you sure? [yN] 

## 指定compose文件名启动(如不用默认文件名的话)
[root@docker01 ~/mysql]#  docker-compose -f zabbix.yml up -d

认知建模:模拟人类决策过程的AI方法 认知建模的目的在于构建能够模拟人类认知和决策过程的模型,通过AI技术将人类的思维、判断和选择等过程以数字化的形式呈现出来。其范围涵盖了多个领域,包括心理学、人工智能、经济学、管理学等。在心理学领域,认知建模可以帮助研究人员更好地理解人类的认知机制;在人工智能领域,可用于开发具有更智能决策能力的系统;在经济学和管理学中,能辅助进行市场预测、战略规划等决策制定。本文首先介绍认知建模的背景知识,让读者对该领域有初步的了解。接着阐述核心概念和它们之间的联系,通过示意图和流程图直观展示。 阅读详情

相关推荐

Ubuntu20.04配置PX4环境启动或编译jmavsim 出现的错误及解决办法

错误1:ant命令未找到

Iamsonice的博客 8855

Linux单机部署Docker容器

1.基础安装 安装依赖包 # yum install -y yum-utils device-mapper-persistent-data lvm2 设置YUM源 # yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 更新YUM源 # yum makecache fast 查看可安装软件版本 # yum list docker-ce.x86_64 --showduplicat

p.deng²⁰⁵ᐟ₅₁₂ 1934

linux redis7 完整的集群搭建过程

一。安装: 1.1 说明: Redis官方只提供了源码,并没有提供经过编译之后的安装包。 因此,安装Redis,要先编译、后安装。(即源码安装方式) 注意:需要联网安装 1.2 安装编译的工具: yum install gcc gcc-c++ -y 1.3 下载tar包,上传到linux服务器,解压配置环境变量 1.4 cd +解压的目录下:编译 make 注意:如果编译失败,请重新进行解压编译,...

m0_38028438的博客 719

docker容器-compose单机容器编排

yaml文件:是一种标记语言,以竖列的形式展示序列化的数据格式,可读性高类似于json格式,语法简单yaml通过缩进来表示数据结构,连续的项目用-减号来表示。

qq_71147683的博客 464

VirtualBox虚拟机拖放文件总失败?手把手教你配置双向拖放与共享文件夹(Ubuntu版)

本文详细指导如何在VirtualBox的Ubuntu虚拟机中配置高效的数据交换方案。核心是安装VirtualBox Guest Additions,并在此基础上开启双向拖放与共享粘贴板功能,同时建立稳定的共享文件夹,彻底解决主机与虚拟机间文件传输失败的问题,构建无缝的跨系统工作环境。

weixin_29245767的博客 232

什么是 SAP ABAP AMDP?

SAP HANA是SAP开发的一种内存数据库管理系统,它具有出色的性能和处理大规模数据的能力。为了充分利用SAP HANA的性能,SAP引入了AMDP技术,以便将数据库操作推送到数据库服务器执行,从而减少数据传输和处理时间。AMDP方法通常需要输入参数和输出参数。输入参数用于传递数据到SQLScript代码,而输出参数用于接收SQLScript代码的结果数据。ENDMETHOD.ENDCLASS.我们定义了一个输入参数来传递销售订单数据,以及一个输出参数来接收计算结果。ENDMETHOD.

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 905

Docker容器(三)单容器管理

每个容器被创建之后,都会分配⼀个ContainerID作为容器的唯⼀标识,后续对容器的启动、停⽌、修改、删除等操作,都可以通过这个ID来完成.应⽤(app);数据库(MySQL);缓存(Redis).例如容器编排⼯具,允许⽤户在⼀个模版(YAML格式)中定义⼀组相关联的容器,会根据--link等参数对启动的优先级进⾏排序.

qq_62377885的博客 1715

Central Finance 全景解析:用 SAP S/4HANA 构建跨系统的财务中台与渐进式转型路径

Central Finance 是基于 SAP S/4HANA 的一种部署与应用场景:在不打断现有异构源系统运营的前提下,把多套 SAP 与非 SAP 系统中的财务与管理会计数据实时/准实时复制到一套中心化的 SAP S/4HANA 中,作为统一的记账与分析底座,逐步把选定的财务流程(如预算控制、付款、固定资产结账等)迁入中心系统。这让企业既能快速获得统一报表与统一核算结构,又为未来的整体迁移留出了弹性路径。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 387

docker部署单机版elasticsearch

docker部署单机版es

weixin_44803066的博客 563

Java 实现 MP3 音频合并工具类:摆脱 FFmpeg,高效低 CPU 的纯本地方案【需求已解决】

本方案充分发挥了 Java 音频 SPI 的潜力,实现了轻量、跨平台、低 CPU 消耗的 MP3 音频合并工具类。 对于希望在服务器或桌面应用中集成音频处理功能的开发者而言,这无疑是一个可行且优雅的解决方案。

一键难忘的博客 542

Spring AI Alibaba实战训练营-16 NL2SQL (自然语言转 SQL)应用开发指南

本文介绍了一个基于AI的智能BI应用开发项目,主要实现自然语言转SQL(NL2SQL)功能,包含对话模块、MCP模块、向量数据管理模块。项目采用Spring AI Alibaba框架,集成通义千问大模型,支持内存向量库和AnalyticDB向量数据库两种存储方案。重点展示了chat模块的三个控制器实现:AnalyticNl2SqlController用于生产环境,SimpleChatController适用于开发测试,Nl2sqlForGraphController支持基于图的复杂对话流程。系统通过将业务知

program哲学 1583

六、docker compose单机容器编排工具

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

如果喜欢的话,点个赞吧~ 1041

基于学术研究于NASA官网GPM卫星数据下载详细教程

基于学术研究于NASA官网GPM卫星数据下载详细教程

珞瑜的博客 8654

Docker-compose单机容器编排

docker-compose 既可以基于dockerfile,也可以基于镜像,一键式拉起镜像和容器。docker-compose 核心就是yml文件,可以定义容器的一切。docker-compose:命令的开头,使用docker-compose进行容器编排。-f:使用特定的compose的模版文件,一般都用docker-compose.yml。docker-compose:单机容器编排工具,可以实现一键式的拉去镜像和创建容器。Dockerfile:先配置好文件,然后build,镜像-------->容器。

DDYYmmm的博客 1490

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Docker Compose:单机容器编排利器

Docker Compose 介绍当在宿主机启动较多的容器时候,如果都是手动操作会觉得比较麻烦而且容易出错,此时推荐使用 docker 单机编排工具 docker-compose。

技术分享 489

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

docker-compose 单机容器编排

虽然我们登录容器,显示的是root用户,伪管理员,一旦privileged: true,容器内的root用户和宿主机的root用户,拥有一样的权限,生产者能不给就不给。docker-compose 核心就是yml文件,可以定义容器的一切,通过yml配置,直接运行容器。-f:使用特定的compose的模板文件,一般都用docker-compose.yml。dockerfile:先配置好文件,然后build,镜像------->容器。-p:project-name:指定项目名称,如果不加,会使用目录名称。

m0_52416577的博客 891

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Docker-compose 单机容器编排

Docker-compose核心就是yml文件,可以定义容器的一切,通过也yml配置,直接运行容器。Docker-compose既可以基于Dockerfile,也可以基于镜像,一键式拉起镜像和容器。Docker-compose :命令的开头,使用docke-compose进行容器编排。-f 使用特点的compose的模版文件,一般都用docke-compose.yml。Dockerfile:先配置好文件,然后build,镜像------>容器。列出由Docker-compose编排出来的容器。

weixin_62445943的博客 427

docker-compose容器编排(单机一键拉起所有容器)

一种直观的、以竖列形式展示序列化数据格式的标记语言,可读性高。类似于json格式,但语法简单yaml通过缩进表示数据结构,连续的项目用-减号表示。

2303_79207100的博客 486

Docker Compose单机容器编排工具

1、Docker Compose 单机多容器部署工具 2、通过yml文件定义多容器如何部署 3、Linux需要自己安装Docker Compose linux安装docker-compose sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(u...

Raymond的博客 297

docker-compose单机容器编排

Dockerfile:先配置好文件,然后build,镜像-------->容器。docker-conpose 既可以基于dockerfile,也可以基于镜像,一键式拉起镜像和容器。docker-compose核心就是yml文件,可以定义容器的一切。通过yml配置,直接运行容器。docker:单节点。docker没有统一对外提供服务的端口和配置。docker一般都是内部访问。无需使用https。如果要对外以集群和分布式的方式提供统一访问的端口,k8s+ingress.

abc13245821907的博客 1291

【云原生】docker-compose单机容器编排工具

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

X2683933654的博客 1901

docker-compose单机容器编排工具

学亮编程手记 751

15.docker-compose(单机版的容器编排工具)

docker-compose(单机版的容器编排工具) 类似ansible剧本 安装docker-compose编排工具 登录后复制 yum install -y docker-compose #(需要epel源) 1. ##docker-compose配置文件详细指令详解,参考如下链接 http://www.jians...

weixin_40777015的博客 60
上一篇: Docker私有镜像仓库Harbor
下一篇: K8s操作对象(K8s中的资源)
Andrew_Notes
博客等级 码龄3年 183粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值