詳解docker-compose.yml文件常用模版命令
注:在編寫docker-compose.yml文件時(shí),所有的冒號(hào)(:)、短橫線(-)后面都需要加一個(gè)空格。
1、command
覆蓋容器啟動(dòng)后默認(rèn)執(zhí)行的命令
command: echo "hello"
2、container_name
指定容器名稱。默認(rèn)將會(huì)使用 項(xiàng)目名稱_服務(wù)名稱_序號(hào) 這樣的格式
container_name: docker-web-container
3、configs
僅用于Swarm mode
4、deploy
僅用于Swarm mode
5、devices
指定設(shè)備映射關(guān)系
devices:
- "/dev/dir:/dev/dir"
6、depends_on
解決容器的依賴、啟動(dòng)先后,容器之間的通訊的問(wèn)題。
7、links
連接到其他容器。注意:不推薦使用該指令,建議使用depends_on。
應(yīng)該使用docker network,建立網(wǎng)絡(luò),而docker run --network來(lái)連接特定網(wǎng)絡(luò)。
或者使用version: ‘2' 和更高版本的docker-compose.yml直接定義自定義網(wǎng)絡(luò)并使用。
8、dns
自定義DNS服務(wù)器??梢允且粋€(gè)值,也可以是一個(gè)列表。
dns: 8.8.8.8
dns:
- 8.8.8.8
- 114.114.114.114
9、environment
設(shè)置環(huán)境變量??梢允褂脭?shù)組或字典兩種格式。只給定名稱的變量會(huì)自動(dòng)獲取運(yùn)行Compose主機(jī)上對(duì)應(yīng)變量的值,可以用來(lái)防止泄露不必要的數(shù)據(jù)。
environment:
MYSQL_ROOT_PASSWORD: 666666
10、expose
暴露端口,但不映射到宿主機(jī),只被連接的服務(wù)訪問(wèn)。僅可以指定內(nèi)部端口為參數(shù)。
11、extra_hosts
類似Docker中的–add-host參數(shù),指定額外的host名稱映射信息。會(huì)在啟動(dòng)后的服務(wù)容器中/etc/hosts文件中添加一個(gè)條目。如:8.8.8.8 googledns
12、healthcheck
通過(guò)命令檢查容器是否健康運(yùn)行
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 1m30s
timeout: 10s
retries: 3
13、image
指定為鏡像名或鏡像ID,如果鏡像在本地不存在,Compose將會(huì)嘗試?yán)∵@個(gè)鏡像
14、labels
為容器添加Docker元數(shù)據(jù)(metadata)信息。例如可以為容器添加輔助說(shuō)明信息。
15、network_mode
設(shè)置網(wǎng)絡(luò)模式。使用和docker run的–network參數(shù)一樣的值。
network_mode: "bridge"
network_mode: "host"
network_mode: "none"
16、networks
配置容器連接的網(wǎng)絡(luò)
networks:
network-demo
17、ports
暴露端口信息,使用宿主端口:容器端口(HOST:CONTAINER)格式,或者僅僅指定容器的端口(宿主將會(huì)隨機(jī)選擇端)都可以。
ports:
- "80:80"
- "443:443"
- "8081:8081"
18、volumes
數(shù)據(jù)卷所掛載路徑設(shè)置,可以設(shè)置宿主機(jī)路徑,同時(shí)支持相對(duì)路徑
volumes:
- ../Site:/data/www:rw
- ./nginx/conf.d:/etc/nginx/conf.d:ro
- ./nginx/cert:/etc/nginx/cert:ro
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/phpcgi.conf:/etc/nginx/phpcgi.conf:ro
- ./nginx/fastcgi.conf:/etc/nginx/fastcgi.conf:ro
- ./nginx/pathinfo.conf:/etc/nginx/pathinfo.conf:ro
- ../logs/nginx:/var/log/nginx
19、ulimits
指定容器的ulimits限制值。
例如,指定最大進(jìn)程數(shù)為65535,指定文件句柄數(shù)為20000(軟限制,應(yīng)用可以隨時(shí)修改,不能超過(guò)硬限制)和 40000(系統(tǒng)硬限制,只能root用戶提高)
ulimits:
nproc: 65535
nofile:
soft: 20000
hard: 40000
20、entrypoint
指定服務(wù)容器啟動(dòng)后執(zhí)行的入口文件
entrypoint: /code/entrypoint.sh
21、user
指定容器中運(yùn)行應(yīng)用的用戶名
22、working_dir
指定容器中工作目錄
working_dir: /data/www
23、domainname
指定容器中搜索域名
domainname: your_domain.com
24、hostname
指定容器中主機(jī)名
25、mac_address
指定容器中mac地址
mac_address: 01-02-22-0A-0B
26、privileged
允許容器中運(yùn)行一些特權(quán)命令
privileged: true
27、restart
指定容器退出后的重啟策略為始終重啟。在生產(chǎn)環(huán)境中推薦配置為 always 或者 unless-stopped
restart: always
28、read_only
以只讀模式掛載容器的root文件系統(tǒng),意味著不能對(duì)容器內(nèi)容進(jìn)行修改
read_only: true
29、stdin_open
打開標(biāo)準(zhǔn)輸入,可以接受外部輸入
stdin_open: true
30、tty
模擬一個(gè)偽終端
tty: true
到此這篇關(guān)于docker-compose.yml文件常用模版命令的文章就介紹到這了,更多相關(guān)docker-compose.yml模版命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker mysql鏡像因?yàn)榕渲梦募霈F(xiàn)錯(cuò)誤一直提示重啟的解決
這篇文章主要介紹了docker mysql鏡像因?yàn)榕渲梦募霈F(xiàn)錯(cuò)誤一直提示重啟的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Docker一鍵部署springcloud項(xiàng)目的方法
本文主要介紹了Docker一鍵部署springcloud項(xiàng)目的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12云原生Docker創(chuàng)建并進(jìn)入mysql容器的全過(guò)程
前面我們已經(jīng)安裝好了Docker,也簡(jiǎn)單了解了Docker,下面這篇文章主要給大家介紹了關(guān)于云原生Docker創(chuàng)建并進(jìn)入mysql容器的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02Docker部署前后端分離項(xiàng)目的三種方式小結(jié)
本文主要介紹了Docker部署前后端分離項(xiàng)目的三種方式小結(jié),包含通過(guò)兩個(gè)容器部署,通過(guò)compose編排容器自動(dòng)部署和將前后端項(xiàng)目打成一個(gè)鏡像部署的三種方式,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03DockerCE之執(zhí)行docker info出現(xiàn)兩條警告信息及解決方案
這篇文章主要介紹了DockerCE之執(zhí)行docker info出現(xiàn)兩條警告信息及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02