微服务----docker-compose.yml属性详解

详细解释:

version : ‘3‘        #Compose文件版本支持特定的Docker版本
services:            #本工程的服务配置列表

  swapping:            #spring boot的服务名,服务名自定义
    container_name: swapping-compose
                    #本spring boot服务之后启动的容器实例的名字,如果指定,按照这个命名容器,如果未指定,容器命名规则是
                    #【[compose文件所在目录]_[服务名]_1】,例如【swappingdockercompose_swapping_1】
            #如果多启动,也就是docker-compose scale swapping=3 mysql=2的话,就不需要指定容器名称,否则会报错 容器名重复存在的问题
    build:            #基于Dockerfile文件构建镜像时使用的属性
      context: .    #代表当前目录,也可以指定绝对路径[/path/test/Dockerfile]或相对路径[../test/Dockerfile],尽量放在当前目录,便于管理
      dockerfile: Dockerfile-swapping    #指定Dockerfile文件名。如果context指定了文件名,这里就不用本属性了
    ports:                        #影射端口属性
      - "9666:9666"                #建议使用字符串格式,指定宿主机端口映射到本容器的端口
    volumes:                    #挂载属性
      - .:/vol/development
                                  #挂载路径在compose配置文件中只能指定容器内的目录,而docker run命令可以指定[宿主机目录:容器内目录]的挂载方式。可以使用:ro对容器内目录设置只读,来保护宿主机的文件系统
    depends_on:                    #本服务启动,需要依赖哪些别的服务  例如这里;mysql服务就会先于swapping服务启动。至于配置多个的话,depends_on内的多个依赖的启动先后顺序未测试过
      - mysql
    links:                        #与depends_on相对应,上面控制启动顺序,这个控制容器连接问题。
      - "mysql:mysql"            #值可以是- mysql[- 服务名],也可以是- "mysql:mysql"[- "服务名:别名"]
    restart: always                #是否随docker服务启动重启
    networks:                    #加入指定网络
      - my-network                #自定义的网络名
    environment:                #environment 和 Dockerfile 中的 ENV 指令一样会把变量一直保存在镜像、容器中,类似 docker run -e 的效果。设置容器的环境变量
      - TZ=Asia/Shanghai        #这里设置容器的时区为亚洲上海,也就解决了容器通过compose编排启动的 时区问题!!!!解决了容器的时区问题!!!

  mysql:                            #服务名叫mysql,自定义
    container_name: mysql-compose    #容器名
    image: mysql:5.7                #虽然没有使用build,但使用了image,指定基于mysql:5.7镜像为基础镜像来构建镜像。【使用build基于Dockerfile文件构建,Dockerfile文件中也有FROM基于基础镜像】
    ports:
      - "33061:3306"
    command: [                        #使用 command 可以覆盖容器启动后默认执行的命令
            ‘--character-set-server=utf8mb4‘,            #设置数据库表的数据集
            ‘--collation-server=utf8mb4_unicode_ci‘,    #设置数据库表的数据集
            ‘--default-time-zone=+8:00‘                    #设置mysql数据库的 时区问题!!!! 而不是设置容器的时区问题!!!!
    ]
    environment:
      MYSQL_DATABASE: swapping                             #设置初始的数据库名
      MYSQL_ROOT_PASSWORD: 398023                        #设置root连接密码
      MYSQL_ROOT_HOST: ‘%‘
    restart: always
    networks:
      - my-network
networks:                        #关于compose中的networks的详细使用https://blog.csdn.net/Kiloveyousmile/article/details/79830810
  my-network:                    #自定义的网络,会在第一次构建时候创建自定义网络,默认是bridge

此表显示哪些Compose文件版本支持特定的Docker版本。参考:https://docs.docker.com/compose/compose-file/

参考文献

  https://www.cnblogs.com/sxdcgaq8080/p/10072040.html

  https://docs.docker.com/compose/overview/   官方文档

原文地址:https://www.cnblogs.com/yanxiaoge/p/11029618.html

时间: 2024-10-31 13:59:42

微服务----docker-compose.yml属性详解的相关文章

家政服务预约app平台开发详解

家政服务预约app平台开发详解:151-1222-4001(微/电)家政服务系统开发,家政服务软件开发,家政服务在线预约平台,家政服务O2O平台,家政服务平台开发,家政服务app开发,家政服务程序开发,家政服务定位系统,家政服务公众号开发,家政服务抢单派单模式. 传统找家政人员的方式是在牛皮癣广告上乱找.中介翻本子给客户推荐,或是通过网上搜索.熟人口口相传.除了难找到合适的家政人员外,没有安全保障也是很多人怕选择家政服务的一大原因.现在通过手机APP找家政员,除了服务质量更能得到保障外,通过担保

OutputCache属性详解一Location

目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解一Location Web应用程序中的使用缓存位置: 客户端缓存(Client Caching) 代理缓存(Proxy Caching) 反向代理缓存(Reverse Proxy Caching) 服务器缓存(Web Server Caching) Location:OutputCacheLocation 枚举值之一. 使用该枚举指定的值.这些值确定页输出的缓存位置.默认值为 Any. An

HTML5基础与Meta http-equiv属性详解

HTML基础知识 <!DOCTYPE> 声明帮助浏览器正确地显示网页. <html> 元素定义了整个 HTML 文档. 现代网站都使用meta来声明页面内容的编码格式,我们推荐这种方式 : <meta http-equiv="Content-Type" content="text/html; charset=GBK"> 参考: head元素(head)及其包含的子元素 <head>    定义关于文档的信息. <

tomcat 三种部署方式以及server.xml文件的几个属性详解

一.直接将web项目文件件拷贝到webapps目录中 这是最常用的方式,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用.如果你想要修改这个默认目录,可以在conf下的server.xml文件里修改Host标签里的appBase值. 这个方法实际上和在IDE开发环境里部署项目是一样的. 用此方法的访问路径为http://localhost:8080/webname 二.修改Server.xml文件 在conf下的server.xml文件里找

Docker基础 :网络配置详解

本篇文章将讲述 Docker 的网络功能,包括使用端口映射机制来将容器内应用服务提供给外部网络,以及通过容器互联系统让多个容器之间进行快捷的网络通信,有兴趣的可以了解下. 大量的互联网应用服务包含多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合.Docker 目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务.接下来我们将讲述 Docker 的网络功能,包括使用端口映射机制来将容器内应用服务提供给外部网络,以及通过容器互联系统让多个容器之间进行快捷的网络通信. 端口映

Docker:网络模式详解

Docker作为目前最火的轻量级容器技术,牛逼的功能,如Docker的镜像管理,不足的地方网络方面. Docker自身的4种网络工作方式,和一些自定义网络模式 安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络). none .host.Container host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口. Container:创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP.端口范围. None:该模式关

css动画-animation各个属性详解(转)

CSS3的animation很容易就能实现各种酷炫的动画,虽然看到别人的成果图会觉得很难,但是如果掌握好各种动画属性,做好酷炫吊炸天的动画都不在话下,好,切入正题. 一.动画属性: 动画属性包括:①animation-name,②animation-duration,③animation-timing-function, 以下是各属性详解: 1.animation-name:指定要绑定到选择器的关键帧的名称. 2.animation-duration:定义动画完成一个周期需要多少秒或毫秒 3.a

jQuery Event.which 属性详解

jQuery Event.which 属性详解 which属性用于返回触发当前事件时按下的键盘按键或鼠标按钮. 对于键盘和鼠标事件,该属性用于确定你按下的是哪一个键盘按键或鼠标按钮. which属性对DOM原生的event.keyCode和event.charCode进行了标准化. 适用的事件类型主要有键盘事件:keypress.keydown.keyup,以及鼠标事件:mouseup.mousedown. 该属性属于jQuery的Event对象(实例). 语法 jQuery 1.1.3 新增该

WPF依赖属性详解

WPF依赖属性详解 WPF 依赖属性 英文译为 Dependency Properties,是WPF引入的一种新类型的属性,在WPF中有着极为广泛的应用,在WPF中对于WPF Dependency Properties 的使用贯穿样式的使用,数据绑定,动画等等,在刚刚接触Dependency Properties的时候可能觉得有些奇怪,但是,当你了解他要解决的问题的时候,你可能就不觉得奇怪了.Dependency Properties第一个要解决的问题就是控件的属性共享问题,由于大部分的WPF控