This repository was archived by the owner on Apr 10, 2026. It is now read-only.
Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
157 lines (153 loc) · 4.38 KB
/
Copy pathdocker-compose.yml
File metadata and controls
157 lines (153 loc) · 4.38 KB
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# Copyright (c) 2015-2022, NVIDIA CORPORATION.
# SPDX-License-Identifier: Apache-2.0
# To build the `development` service
#
# docker-compose build [--build-arg GolangVersion=<X.YY.Z>] [--build-arg MakeTarget={|all|ci|minimal}]
#
# Notes:
# --build-arg Key=Value settings passed on to Dockerfile
# Images built will be named "proxyfs_<service>:latest"
# Use docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] to create an alias
#
# To run the resultant application:
#
# docker-compose up [-d|--detach] {dev|ickpt|imgr|iclient}
#
# Notes:
# -d|--detach:
# 1) tells docker-compose to detach from running containers
# 2) if supplied:
# a) stop application with `docker compose down`
# b) containers are removed upon application down
# 3) if not supplied:
# a) stop application with ^C
# b) containers are left in "exited" state upon application down
# dev: tells docker-compose to only bring up dev service (w/ dependencies)
# ickpt: tells docker-compose to only bring up ickpt service (w/ dependencies)
# imgr: tells docker-compose to only bring up imgr service (w/ dependencies)
# iclient: tells docker-compose to only bring up iclient service (w/ dependencies)
# Precisely one of {dev|ickpt|imgr|iclient} must be specied...
# If no service is specified, dev published ports will collide with other services
# Containers launched have been named the same as their corresponding service name
#
# To stop the resultant application:
#
# docker-compose down
version: '3.8'
services:
swift:
image: dockerswiftaio/docker-swift:2.29.0
container_name: proxyfs_swift
expose:
- 8080 # curl http://swift:8080/info
ports:
- target: 8080
published: 8080
protocol: tcp
mode: host
dev:
build:
context: .
target: dev
container_name: proxyfs_dev
depends_on:
- swift
cap_add:
- SYS_ADMIN
devices:
- '/dev/fuse'
privileged: true
expose:
- 33123 # ICKPT.Port
- 32356 # IMGR.RetryRPCPort
- 15346 # IMGR.HTTPServerPort
- 15347 # ICLIENT.HTTPServerPort for iclient/dev.conf
- 15348 # ICLIENT.HTTPServerPort for iclient/dev2.conf
- 15349 # ICLIENT.HTTPServerPort for iclient/dev3.conf
ports:
- target: 33123
published: 33123
protocol: tcp
mode: host
- target: 32356
published: 32356
protocol: tcp
mode: host
- target: 15346
published: 15346
protocol: tcp
mode: host
- target: 15347
published: 15347
protocol: tcp
mode: host
- target: 15348
published: 15348
protocol: tcp
mode: host
- target: 15349
published: 15349
protocol: tcp
mode: host
volumes:
- type: bind
source: .
target: /src
command: ["sleep", "infinity"]
ickpt:
build:
context: .
target: deploy
container_name: proxyfs_ickpt
depends_on:
- swift
expose:
- 33123 # ICKPT.Port
ports:
- target: 33123
published: 33123
protocol: tcp
mode: host
command: ["./ickpt", "ickpt.conf"]
imgr:
build:
context: .
target: deploy
container_name: proxyfs_imgr
depends_on:
- swift
- ickpt
expose:
- 32356 # IMGR.RetryRPCPort
- 15346 # IMGR.HTTPServerPort
ports:
- target: 32356
published: 32356
protocol: tcp
mode: host
- target: 15346
published: 15346
protocol: tcp
mode: host
command: ["./imgr", "imgr.conf"]
iclient:
build:
context: .
target: deploy
container_name: proxyfs_iclient
depends_on:
- swift
- imgr
cap_add:
- SYS_ADMIN
devices:
- '/dev/fuse'
privileged: true
expose:
- 15347 # ICLIENT.HTTPServerPort
ports:
- target: 15347
published: 15347
protocol: tcp
mode: host
command: ["./iclient.sh", "-fs"]