1. 程式人生 > 實用技巧 >Docker Compose實戰

Docker Compose實戰

(一)Docker Compose 實戰 Tomcat

    version: '3.1'
    services:
      tomcat:
        restart: always
        image: tomcat
        container_name: tomcat
        ports:
          - 8080:8080
        volumes:
          - /usr/local/docker/tomcat/webapps/test:/usr/local/tomcat/webapps/test
        environment:
          TZ: Asia/Shanghai


(二)Docker Compose 實戰 MySQL

1、MySQL5

    version: '3.1'
    services:
      mysql:
        restart: always
        image: mysql:5.7.22
        container_name: mysql
        ports:
          - 3306:3306
        environment:
          TZ: Asia/Shanghai
          MYSQL_ROOT_PASSWORD: 123456
        command:
          --character-set-server=utf8mb4
          --collation-server=utf8mb4_general_ci
          --explicit_defaults_for_timestamp=true
          --lower_case_table_names=1
          --max_allowed_packet=128M
          --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
        volumes:
          - mysql-data:/var/lib/mysql
    
    volumes:
      mysql-data:

2、MySQL8

    version: '3.1'
    services:
      db:
        image: mysql
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: 123456
        command:
          --default-authentication-plugin=mysql_native_password
          --character-set-server=utf8mb4
          --collation-server=utf8mb4_general_ci
          --explicit_defaults_for_timestamp=true
          --lower_case_table_names=1
        ports:
          - 3306:3306
        volumes:
          - ./data:/var/lib/mysql
    
      adminer:
        image: adminer
        restart: always
        ports:
          - 8080:8080



(三)YAML 配置檔案語言

1、簡介

YAML 是專門用來寫配置檔案的語言,非常簡潔和強大,遠比 JSON 格式方便。

YAML 語言的設計目標,就是方便人類讀寫。它實質上是一種通用的資料序列化格式。它的基本語法規則如下:

  • 大小寫敏感
  • 使用縮排表示層級關係
  • 縮排時不允許使用Tab鍵,只允許使用空格。
  • 縮排的空格數目不重要,只要相同層級的元素左側對齊即可

#表示註釋,從這個字元一直到行尾,都會被解析器忽略。

YAML 支援的資料結構有三種:

  • 物件:鍵值對的集合,又稱為對映(mapping)/ 雜湊(hashes) / 字典(dictionary)
  • 陣列:一組按次序排列的值,又稱為序列(sequence) / 列表(list)
  • 純量(scalars):單個的、不可再分的值

2、物件

物件的一組鍵值對,使用冒號結構表示

    animal: pets

3、陣列

一組連詞線開頭的行,構成一個數組

    - Cat
    - Dog
    - Goldfish

資料結構的子成員是一個數組,則可以在該項下面縮排一個空格

    - Array
     - Cat
     - Dog
     - Goldfish

4、複合結構

物件和陣列可以結合使用,形成複合結構

    languages:
     - Ruby
     - Perl
     - Python 
    websites:
     YAML: yaml.org 
     Ruby: ruby-lang.org 
     Python: python.org 
     Perl: use.perl.org 

5、純量

純量是最基本的、不可再分的值。以下資料型別都屬於 JavaScript 的純量

    • 字串
    • 布林值
    • 整數
    • 浮點數
    • Null
    • 時間
    • 日期

轉自:有夢想的鹹魚