-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
41 lines (41 loc) · 2.13 KB
/
docker-compose.yml
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
version: "3" # docker-compose语法版本号
services: # 服务组
yournodename: # 自定义web服务名
build: . # 构建当前路径下的Dockerfile
image: yourserviceimage # 自己构建的服务镜像名
container_name: dockernode # 自己构建的容器名
restart: always # 开机自启动
ports: # 暴露宿主机端口
- 3333:3333 # 容器内部3333映射到宿主机3333端口
depends_on: # 容器依赖,会先启用依赖的容器
- yourmongoname # 依赖名要与下面自定义的服务名保持一致
- yourredisname
command: ["./wait-for-it.sh", "mongo:27017", "--", "node", "app.js"] # 等待mongo启动之后,再启动node服务
networks: # 容器网络
- yournetworkname
yourmongoname: # 自定义mongo服务名
image: mongo:4.2.6
container_name: dockermongo
restart: always
ports:
- 9003:27017 # 暴露端口
environment: # 若开启数据库验证,则需要配置此选项
MONGO_INITDB_ROOT_USERNAME: yourMongoInitUsername #初始化数据库用户名
MONGO_INITDB_ROOT_PASSWORD: yourMongoInitPassword #初始化数据库密码
MONGO_INITDB_DATABASE: DOCKER_DB # 初始化数据库
networks:
- yournetworkname
volumes: # 挂载数据卷(宿主机绝对路径:容器绝对路径)
- ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro #只读,初始化数据库用户名密码
- /p/a/t/h:/data/db # /p/a/t/h 为服务器挂载卷路径
yourredisname: # 自定义redis服务名
image: redis:5.0.9
container_name: dockerredis
restart: always
networks:
- yournetworkname
volumes:
- /p/a/t/h:/data # /p/a/t/h 为服务器挂载卷路径
networks: # 容器网络
yournetworkname: # 自定义容器网络名
driver: bridge # 网络类型