<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Docker Compose實(shí)踐

          共 3230字,需瀏覽 7分鐘

           ·

          2021-10-01 15:25

          Docker Compose可以大大方便我們對(duì)多容器服務(wù)的管理,實(shí)現(xiàn)了一條命令啟動(dòng)多個(gè)容器服務(wù)

          abstract.png

          基本實(shí)踐

          如果期望通過(guò)docker run命令啟動(dòng)兩個(gè)容器,則分別需要如下兩條命令。如下所示

          # 創(chuàng)建mysql容器
          docker run -d \
            --name MySQL-Service \
            -p 7000:3306 \
            -v mysqlData:/var/lib/mysql \
            -e MYSQL_ROOT_PASSWORD=123456 \
            -e MYSQL_DATABASE=db1 \  
            mysql:5.7

          # 創(chuàng)建redis容器
          docker run -d \
            --name Redis-Service \
            -p 7001:6379 \
            -v /Users/zgh/Docker/Redis/Redis-Service/Data:/var/lib/data \
            redis:6.2.3-alpine3.13 \
            redis-server --requirepass 123456

          而通過(guò)compose我們就可以統(tǒng)一管理多個(gè)容器。具體地,通過(guò)docker-compose.yml文件配置所需的多個(gè)容器服務(wù)。然后利用docker-compose命令從YAML配置文件創(chuàng)建并啟動(dòng)所有服務(wù)。下面即是一個(gè)配置mysql、redis的docker-compose.yml文件

          # Compose 版本
          version: '3.8'

          # 定義Docker服務(wù)
          services:

            # Docker服務(wù) 1    
            MySQL-Service:
              image: mysql:5.7
              container_name: MySQL-Service
              ports:
                - "7000:3306"
              volumes:
                - mysqlData:/var/lib/mysql
              environment: 
                MYSQL_ROOT_PASSWORD: 123456
                MYSQL_DATABASE: db1
              networks:
                # 使用名為dev_net并設(shè)置容器IP
                dev_net:
                  ipv4_address: 120.120.120.13

            # Docker服務(wù) 2
            Redis-Service:
              image: redis:6.2.3-alpine3.13
              container_name: Redis-Service
              command: redis-server --requirepass 123456
              ports:
                - "7001:6379"
              volumes:
                - /Users/zgh/Docker/Redis/Redis-Service/Data:/var/lib/data
              networks:
                # 使用名為dev_net并設(shè)置容器IP
                dev_net:
                  ipv4_address: 120.120.120.14

          # 定義數(shù)據(jù)卷
          volumes:
             mysqlData:

          # 定義網(wǎng)絡(luò)
          networks:
            # 定義一個(gè)名為dev_net的網(wǎng)絡(luò)
            dev_net:
              ipam:
                config:
                  # 設(shè)置網(wǎng)段
                  - subnet: 120.120.120.0/24

          然后進(jìn)入docker-compose.yml文件所在目錄執(zhí)行docker-compose命令

          # 創(chuàng)建啟動(dòng)容器, -d選項(xiàng)表示以后臺(tái)方式運(yùn)行容器
          docker-compose up -d

          效果如下所示

          figure 1.jpg

          從下圖可以看到,我們通過(guò)docker-compose.yml文件所創(chuàng)建的兩個(gè)容器已經(jīng)啟動(dòng)成功

          figure 2.jpg

          其中在docker-compose.yml這里我們還自定義了一個(gè)名為dev_net的網(wǎng)絡(luò),然后各容器服務(wù)使用該網(wǎng)絡(luò)并分配一個(gè)固定IP。以便于進(jìn)行容器間的內(nèi)部通信

          Note

          • docker compose的大多數(shù)命令需在docker-compose.yml文件所在目錄下執(zhí)行

          figure 3.jpg

          參考文獻(xiàn)

          1. 第一本Docker書(shū)·修訂版 James Turnbull著
          2. 深入淺出Docker [英]Nigel Poulton著
          瀏覽 65
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美精品| www.一区二区三区在线 | 欧洲 国产精品久久久久久爽爽爽麻豆色哟哟 | 日韩精品网站 | 翔田千里 青青 久久 | 亚洲成人网在线 |