溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Docker Compose yml文件是什么

發(fā)布時間:2021-10-19 17:20:28 來源:億速云 閱讀:122 作者:柒染 欄目:大數(shù)據(jù)

Docker Compose yml文件是什么,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

如果我們有一個App,他由多個container組成,那么這個App的維護會非常繁瑣。

包括:

  • 要從Dockerfile build image 或者 Docker hub拉取image

  • 要創(chuàng)建多個container

  • 要管理這些container(啟動,停止,刪除)

docker Compose的作用就是“批處理”。我們只需要一條命令,就可以管理多個容器的創(chuàng)建,停止刪除。

Docker Compose是一個工具

這個工具可以通過一個yml文件定義多容器的docker應(yīng)用

通過一條命令就可以根據(jù)yml文件的定義去創(chuàng)建或者管理這多個容器 

如何寫yml文件 ?

services

一個service代表一個container,這個container可以從docker hub的image來創(chuàng)建,或者從本地的Dockerfile build出來的image來創(chuàng)建。

service的啟動類似docker run,我們可以給其指定network和volume, 所以可以給service指定etwork和volume的引用。

舉例一:

services:
	db:
		image: postgres:9.4
		volumes:
			- "db-data:/var/lib/postgresql/data"
		networks:
			- back-tier

這句話類似于

docker run -d --name db  --network back-tier -v db-data:/var/lib/postgresql/data postgres:9.4

舉例二:

services:
	worker:
		build: ./worker
		networks:
			back-tier

這個是通過本地build的。

networks

volumes

舉例:

version: '3'

services:

  wordpress:
    image: wordpress
    ports:
      - 8080:80
    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:
  mysql-data:

networks:
  my-bridge:
    driver: bridge

version: "3" 表示使用的docker Compose 版本是3

這個docker-compose.yml文件包含三部分:services,volumes,networks

services,定義了兩個service分別是wordpress和mysql。wordpress 端口是80映射到8080,environment相當(dāng)于-e選項,network表示鏈接的網(wǎng)絡(luò)是my-bridge,這個網(wǎng)絡(luò)在下面會有定義。mysql中的volume映射到mysql-data,這個volume在下面有定義。

關(guān)于Docker Compose yml文件是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI