首页 > 其他分享 >『中级篇』Docker Compose到底是什么(38)

『中级篇』Docker Compose到底是什么(38)

时间:2023-01-06 11:31:27浏览次数:51  
标签:compose Compose container image yml 38 mysql Docker docker


多容器的APP太恶心了

美团,阿里,京东一个项目很多个容器,如果扩展那不是运维人员基本没办法干了,几千个几万个。

  • 要从Dockerfile build image 或者去dockerhub拉取image
  • 要创建多个container
  • 要管理这些container(启动停止删除)
DOcker Compose “批处理”

通过文本的方式,把要处理的容器按照顺序执行,如果是多容器也就是通过一条命令就搞定了

『中级篇』Docker Compose到底是什么(38)_mysql

Docker Compose 了解它

​https://docs.docker.com/compose/overview/​​ ,version版本统一用3,其实3是兼容2的,version版本1 就不要考虑了已经废弃了,一定要往前看。3和2的最大区别是3比2强大,好像是废话,3支持多机和单机,2仅支持单机。

  • Docker Compose 是一个工具,命令行工具。
  • 这个工具可以通过yml文件定义多容器的docker应用
  • 通过一条命令就可以根据yml文件的定义去创建或者管理这多个容器

『中级篇』Docker Compose到底是什么(38)_Docker_02

『中级篇』Docker Compose到底是什么(38)_mysql_03

docker-compose.yml 介绍
  • services
  1. 一个service代表一个container,这个container可以从dockerhub的image来创建,或者从本地的Dockerfile build出来的image来创建。
  2. service的启动类似docker run,我们可以给其指定network和volme,所以可以给service指定network和volume的引用

『中级篇』Docker Compose到底是什么(38)_Docker_04

『中级篇』Docker Compose到底是什么(38)_Docker_05

  • networks
  • 『中级篇』Docker Compose到底是什么(38)_docker_06

  • volumes
  • 『中级篇』Docker Compose到底是什么(38)_Docker_07

docker-compose 上例子

源码地址:​​https://github.com/limingios/docker​​中的No.4

  • 访问路径
  • 『中级篇』Docker Compose到底是什么(38)_mysql_08

  • docker-compose 源码实例
#docker-Compse的版本
version: '3'

#建立2个service 一个wordpress 一个 mysql
services:

wordpress:
image: wordpress
#端口映射80 映射到8080端口
ports:
- 8080:80
#环境变量2个
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_PASSWORD: root
networks:
- my-bridge

mysql:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
volumes:
- mysql-data:/var/lib/mysql
networks:
- my-bridge
#建立一个volumes
volumes:
mysql-data:
#建立一个networks
networks:
my-bridge:
driver: bridge

PS:上节通过image 和container的方式创建wordpress,一般麻烦吧还不算特别麻烦,但是相比今天的docker-compose.yml来说,还是docker-compose.yml文件更方便些吧。

标签:compose,Compose,container,image,yml,38,mysql,Docker,docker
From: https://blog.51cto.com/u_12040702/5992912

相关文章

  • 『中级篇』Docker service更新(52)
    ​serive更新其实并不是简单的更新,在swarm模式下的service都是在运行的,正在运行的进行更新,swarm是生产环境,我们不想因为更新中断咱们的业务,想的是不影响正常的业务开展。在......
  • Docker私有仓库以及Docker shell
    Docker搭建私有仓库公有云:比如百度云,dockerhub私有云:比如搭建到某个内网,docker搭建私有仓库:下载一个镜像docker默认使用的是dockerhubdocker仓库服务器就是docker注册服务......
  • 编写Dockerfile文件
    Dockerfile可以完成一些批量化的工作cdlsmkdirdockerfilecddockerfile/lsvimDockerfile//指定基础的镜像Fromcentos:latest//维护者信息MAINTAINERwjx//shell命令RUN......
  • Docker高级命令
    高级命令:使用history查看镜像历史cp命令复制文件commit命令提交容器修改diff命令检查容器文件的变动inspect查看详细信息使用以下命令创建并查看启动容器dockerpullcentos......
  • podman 和 docker 的比较和区别
    Podman是一个容器管理工具,可以用来运行和管理容器。它是一个开源项目,由RedHat开发,旨在提供与Docker相同的功能,但是没有Docker的daemon进程。这意味着Podman可以......
  • Docker常用命令
    Docker的常用命令帮助命令dockerversion #显示docker的版本信息dockerinfo   #显示docker的系统信息,包括镜像和容器的数量docker --help #万能命令帮助......
  • docker简介和基础概念
    docker是什么docker基于linux内核的cgroup、namespace和unionfs等技术,对进程实行封装隔离,属于os层面的虚拟化技术。由于进程的隔离独立于宿主机和其他隔离的进程,因此也......
  • docker安装rabbitmq
    创建挂载目录mkdir-p/opt/docker/rabbitmq启动dockerrun-d--restart=always--name=rabbitmq-p5672:5672-p15672:15672\-v/opt/docker/rabbitmq:/var/lib/rab......
  • win10试安装docker部署hyperf
    一:部署虚拟机,这里使用的win系统带的Hyper-V虚拟机,其它虚拟机也行1.win+R打开命令行  2.安装Hyper-V. 失败放弃安装,选择其它吧3.win10安装VMware这里参考ht......
  • LeetCode338
    题目链接:https://leetcode.cn/problems/counting-bits/。这道题虽然带有动态规划的tag,但是只有一个维度的规划很适合刚接触这个概念的新人。动态规划比较关键的一点是把......