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