docker-compose

#docker-compose文件示例

#compose 版本 有 1,2,3 三个版本

1
version: "3"

##服务器信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
services:

#web服务器

web:
image: dockercloud/hello-world #镜像信息 本地有用本地,没有的话从远程获取

#容器名称
container_name: hello-world

#主机名称
hostname: hello-world.com

#本机端口映射到容器端口,YAML将会解析xx:yy这种数字格式为60进制,建议采用字符串格式
ports:
-"8080:8080"
-"127.0.0.1:9000:8080"

#向hosts文件中添加域名解析记录
extra_hosts:
-"www.test.com:162.185.32.65"

#挂载一个目录或已存在的数据卷容器,格式: [HOST:CONTAINER] or [HOST:CONTAINER:ro](只读)
volumes:
-./web/data_dir:/demo/data_dir
-./web/logs:/demo/logs

#不使用宿主目录而使用自定义驱动
volume_driver:yourdriver

#从另外服务或容器挂载数据卷
volumes_from:
-server_name
-container_name

#定义接入点,会覆盖dockerfile文件中的entrypoint
entrypoint:./
restart:

#服务器连接
links:
-database:database

#容器启动后执行的命令,例:composer install or ['composer','install']
command:composer install

#控制服务容器启动顺序,在web服务器启动前先启动databse服务及redis
depends_on:
-database
-redis

#基于其他模板进行扩展
extends:
-file:common.yaml
-service:common

#连接到docker-compose.yaml外部容器
external_links:
-project_db_1:mysql

#为容器添加Docker元数据(metadata)信息
lables:
decription:"web app service"

#日志驱动类型,有json-file|syslog|none三种类型
log_driver:
"josn-file"

#日志驱动参数
log_opt:
address:""

#增加指定容器内核能力
cap_add:
-ALL

#去掉指定容器内核能力
cap_drop:
-NET_ADMIN

#配置DNS服务器
dns:
-8.8.8.8
-4.4.4.4

#从文件中获取环境变量,优先级低于environment设置的环境变量
env_file:
-./env

#redis服务容器
redis:
image: redis
links:
-web
networks:
-back-tier

#数据库服务容器
database:
image: beginor/postgis:9.3
container_name: postgis
hostname: postgis
ports:
-5432:5432
volumes:
-./database/data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: 1q2w3e4R
restart:
networks:
front-tier:
driver: bridge
back-tier:
driver: bridge

你是本站第位访客 本站访客数人次
Fork me on GitHub