日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

轻松掌握开发必会的docker套路-yaml语法与docker compose.yml

發布時間:2024/2/28 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 轻松掌握开发必会的docker套路-yaml语法与docker compose.yml 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們編程的時候常常需要定義配置文件,配置文件的格式也多種多樣,有用php的數組格式的,有xml格式的,也有json格式的。

由于docker compose使用的配置文件是docker-compose.yml ,yml后綴的文件使用的是yaml語法,所以我們就來聊聊yaml語法。

YAML語言就是專門來寫配置文件的語言,它的語法簡潔,被很多人認為是可以超越xml和json的文件格式。

先用一個小例子,來體驗下!

如果我們要用配置文件存儲如下的數據,學校名叫小學,地址為上海松江小學,班級分為2個班級,分別是class1和class2,class1下面有小明,小紅,小花三個學生,class2下面有大明,大紅,大花三個學生。

json格式展示:

{"school": "小學","address": "上海松江小學","class": {"class1": ["小明","小紅","小花"],"class2": ["大明","大紅","大花"]} }

php數組格式展示:

$school=['school'=>'小學','address'=>'上海松江小學','class'=>['class1'=>["小明","小紅","小花"],'class2'=>["大明","大紅","大花"]] ];

yaml格式展示:

school: 小學 address: 上海松江小學 class:- class1:- 小明- 小紅- 小花- class2:- 大明- 大紅- 大花

三種方式對比下,是不是覺得yaml格式寫法很簡潔,字符不需要加引號,也不需要用大括號來包裹數據,媽媽再也不用擔心我大括號沒有閉合啦。

?

了解了yaml的基本展示形式 ,下面來說說yaml語法。

yaml語法特點:

  • 大小寫敏感
  • 通過縮進表示層級關系
  • 禁止使用tab縮進,只能使用空格鍵
  • 縮進的空格數目不重要,只要相同層級左對齊即可
  • 使用#表示注釋

yaml支持的數據結構

  • 純量:單個的、不可再分的值,包含字符串,布爾值,整數,浮點數,Null等
  • 對象:鍵值對的集合
  • 數組:一組按次序排列的值

純量是最基本的、不可再分的值,寫法如下:

#字符串默認不使用引號 str:這是一串文字 #如果字符串中有空格或者特殊字符需要放在引號中,且單雙引號效果一樣 newStr:'名字:張三' #整數 number:12 #布爾值 isNumber: true #null值用~來表示 name:~

對象是一組鍵值對,寫法如下(注意字符前面的不是tab縮進,而是空格):

people:name:張三age:13address:上海

數組是由一組連詞線開頭的行組成的,寫法如下(注意字符前面的不是tab縮進,而是空格):

class:-小明-小紅-小花

數組和對象組合使用:

people:name:張三age:13address:上海 class:-小明-小紅-小花

好了,關于yaml語法的常用內容就介紹到這里,我想大家對于yaml的語法有了一定的了解了。

接下來,我們來看看,docker compose.yml里面一些常用的配置項。

一份標準的docker-composer.yml文件分為三個部分,分別是version,services和networks。

version:"3" # 指定 compose 文件的版本,version 1被逐步廢棄,最新的版本用3 services: # 對象格式定義所有的 service 信息 networks: # 對象格式定義 networks 信息

我們先來看看,這三個部分里面會有哪些選項,我們以nginx為例做說明:

#定義當前版本 version: "3" #定義我們的服務對象 services: #自定義的服務名稱nginx: #鏡像名稱,默認拉取本地鏡像,沒有的話從遠程獲取image: nginx:1.15.7-alpine #自定義容器的名稱container_name: nginx15#將宿主機的5000端口映射到容器的80端口ports:- "5000:80"#將宿主機的./www目錄和容器的/var/www/html目錄進行綁定,并設置rw權限#將宿主機的./conf/default.conf和容器的./conf/default.conf進行綁定volumes:- ./www/:/var/www/html/:rw- ./conf/default.conf:/etc/nginx/conf.d/default.conf#設置環境變量,當前的時區environment:TZ: "Asia/Shanghai"#容器是否隨docker服務啟動重啟restart: always#容器加入名為default的網絡networks:- default networks: #創建了一個自定義的網絡叫做defaultdefault:

好了,以上便是yaml的語法以及docker compose配置項的一些基本說明,希望能幫助你理解docker-compose.yml文件。

總結

以上是生活随笔為你收集整理的轻松掌握开发必会的docker套路-yaml语法与docker compose.yml的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。