1. 程式人生 > 實用技巧 >docker-compose.yml引數詳解

docker-compose.yml引數詳解

1:引數詳解

  service:	定義服務
	web:	二級標籤,服務名稱,使用者自己定義
		image:	指定服務映象的名稱或ID,如果本地映象不存在,Compose將會嘗試拉取這個映象
		格式:	image: redis
				image: ubuntu:14.04
				image: tutum/influxdb
				image: example-registry.com:4000/postgresql
				image: a4bc65fd
		build:	服務除了可以基於指定的映象,還可以基於一份 Dockerfile,
				在使用 up 啟動之時執行構建任務,這個構建標籤就是 build,
				它可以指定 Dockerfile 所在資料夾的路徑。Compose 將會利用它自動構建這個映象,
				然後使用這個映象啟動服務容器。
		格式:	build: /path/to/build/dir
				build: ./dir	相對路徑
				build:			設定上下文根目錄,然後以該目錄為準指定 Dockerfile
					context: ../
					dockerfile: path/of/Dockerfile
###ARG:是在build的時候存在的,可以在Dockerfile中當做變數來使用,ARG是允許空值的,構建成功之後會消失
###ENV:是容器構建好之後的變數,不能再Dockerfile中當引數使用,不允許空值
				build:
					context: .		context:上下文
					args:
						buildno: 1
						password: secret
				build:
					context: .
					args:
						- buildno=1
						- demo 			空值
						- password=secret
				ports:		對映埠的標籤
				格式:
					ports:
						- "3000"
						- "8000:8000"
###YAML 的布林值(true, false, yes, no, on, off)
###必須要使用引號引起來(單引號、雙引號均可),否則會當成字串解析。
		command:	使用 command 可以覆蓋容器啟動後預設執行的命令。
		格式:
			command: bundle exec thin -p 3000
			command: [bundle, exec, thin, -p, 3000]		這是dockerfile中的檔案格式
		container_name: 雖然可以自定義專案名稱、服務名稱,但是如果你想完全控制容器的命名,
						可以使用這個標籤指定
		格式:
			container_name: app
		depends_on:		解決容器啟動先後順序問題,避免了容器依賴因啟動順序不同而造成退出錯誤
		格式:
			depends_on:
				- db		先啟動資料庫在啟動redis
				- redis
				
https://blog.csdn.net/liguangxianbin/article/details/79492866