1. 程式人生 > 其它 >webpack raw-loader 打包問題

webpack raw-loader 打包問題

介紹:

Docker-Compose專案是Docker官方的開源專案,負責實現對Docker容器叢集的快速編排。

Docker-Compose將所管理的容器分為三層,分別是 工程(project),服務(service)以及容器(container)。Docker-Compose執行目錄下的所有檔案(docker-compose.yml,extends檔案或環境變數檔案等)組成一個工程,若無特殊指定工程名即為當前目錄名。一個工程當中可包含多個服務,每個服務中定義了容器執行的映象、引數、依賴。一個服務當中可包括多個容器例項,Docker-Compose並沒有解決負載均衡的問題,因此需要藉助其它工具實現服務發現及負載均衡,比如 Consul。

Docker-Compose的工程配置檔案預設為docker-compose.yml,可通過環境變數COMPOSE_FILE或-f引數自定義配置檔案,其定義了多個有依賴關係的服務及每個服務執行的容器。

使用一個Dockerfile模板檔案,可以讓使用者很方便的定義一個單獨的應用容器。在工作中,經常會碰到需要多個容器相互配合來完成某項任務的情況。例如要實現一個Web專案,除了Web服務容器本身,往往還需要再加上後端的資料庫服務容器,甚至還包括負載均衡容器等。

_Compose允許使用者通過一個單獨的docker-compose.yml模板檔案(YAML 格式)來定義一組相關聯的應用容器為一個專案(project)。

Docker-Compose專案由Python編寫,呼叫Docker服務提供的API來對容器進行管理。因此,只要所操作的平臺支援Docker API, 就可以在其上利用Compose來進行編排管理。

Compose部署

YAML 檔案格式及編寫注意事項

YAML 是一種標記語言,它可以很直觀的展示資料序列化格式,可讀性高。類似於 XML資料描述語言,語法比 XML 簡單的很多。YAML 資料結構通過縮排來表示,連續的專案通過減號來表示,鍵值對用冒號分隔,陣列用中括號 [ ] 括起來, hash 用花括號 { } 括起來。

使用 YAML 時需要注意下面事項:

  • 大小寫敏感
  • 通過縮排表示層級關係
  • 不支援製表符 tab 鍵縮排,只能使用空格縮排
  • 縮排的空格數目不重要,只要相同層級左對齊,通常開頭縮排2個空格
  • 用 # 號註釋
  • 字元後縮排1個空格,如冒號 : 、逗號 , 、橫槓 -
  • 如果包含特殊字元用單引號 ‘’ 引起來會作為普通字串處理,雙引號(“”):特殊字元作為本身向表示的意思

資料結構:

①、物件:鍵值對的字典

animal:pets

②、陣列:一組按次序排序的列表

-Cat

-Dog

-Goldfish

③、布林值

debug:true

debug:fasle

④、示例

#yaml

languages:["JAVA","Golang",“Python”]

-Java

-Golang

-Python

websites:

Baidu:www.baidu.com

Wangyi:www.163.com

#Json

{

languages:[

'Java'

'Golang'

'Python'

],

websites:{

Baidu:‘www.baidu.com’,

Wangyi:‘www.163.com’

}

}

Docker Compose配置常用欄位

欄位 描述
build 指定Dockerfile檔名,要指定Dockerfile檔案需要再build標籤的子級標籤中使用Dockerfile標籤指定
dockerfile 構建映象上下文路徑
context 可以是dockerfile的路徑,或者是指向git倉庫的url地址
image 指定映象
command 執行命令,覆蓋容器啟動後預設執行的命令
container name 指定容器名稱,由於容器名稱是惟一的,如果指定自定義名稱,則無法scale
deploy 指定部署和執行服務相關配置,只能在Swarm模式使用
environment 新增環境變數
networks 加入網路,引用頂級networks下條目
ports 暴露容器埠,與-p相同,但埠不能低於60
volumes 掛載一個宿主機目錄或命令捲到容器,命令卷要在頂級volums定義卷名稱
volumes_from 從另一個服務或容器掛載卷,可選引數:ro和:rw
hostname 容器主機名
sysctls 在容器內設定核心引數
links 連線到另外一個容器,-服務名稱[:服務別名]
restart 重啟策略,預設no,always,no-failure,unless-stopped
depends_on 在使用Compose時,最大的好處就是少打啟動命令,但一般專案容器啟動的順序是有要求的,如果直接從上到下啟動容器,可能會因為容器依賴問題啟動失敗。例如在沒啟動資料庫容器的時候啟動應用容器,應用容器會因為找不到資料庫而退出。depends_on用於解決容器的依賴、啟動先後的問題

重啟策略介紹:

no 預設策略,在容器退出時不重啟容器
on-failure 在容器非正常退出時(退出狀態非0),才會重啟容器
on-failure:3 在容器非正常退出時重啟容器,最多重啟3次
always 在容器退出時總是重啟容器
unless-stopped 在容器退出時總是重啟容器,但是不考慮在Docker守護程序啟動時就已經停止了的容器

Docker Compose常用命令:

欄位 描述
build 重新構建服務
ps 列出容器
up 建立和啟動容器
exec 在容器裡面執行命令
scale 指定一個伺服器啟動數量
top 顯示容器程序
logs 檢視容器輸出
down 刪除容器、網路、資料卷和映象
stop/start/restart 停止/啟動/重啟服務

Docker Compose檔案結構

(1)準備依賴檔案

(2)編寫配置檔案docker-compose.yml