рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛:
рдЕрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╡рд╛рд▓реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕рдВрд╕реНрдХрд░рдг рдХрдВрдкреЛрдЬрд╝ рдХреЗ рдЕрдВрджрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рдореНрди рдиреНрдпреВрдирддрдо рд▓рд┐рдЦреЗрдВ рдлрд╝рд╛рдЗрд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
version: '3'
services:
example:
environment:
TAG: edge
image: alpine:${TAG}
${TAG}
рдЪрд░ рд▓рд┐рдЦреЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ _anywhere_ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред
рдЬреИрд╕реЗ:
$ docker-compose up
WARNING: The TAG variable is not set. Defaulting to a blank string.
Pulling example (alpine:latest)...
...
рдкрд░рдВрддреБ:
$ TAG=edge docker-compose up
Pulling example (alpine:edge)...
...
$TAG рдЕрдм рд▓рд┐рдЦреЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ env рдЪрд░ рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдирд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рд╕рднреА рдПрдирд╡реА рдЪрд░ рдЙрдкрд▓рдмреНрдз/рд╕рдорд╛рдзрд╛рди рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡реЗ рдЬрд┐рдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдкрд╣рд▓реЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рд╕реВрдЪреА рдореЗрдВ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ред
$ docker version
Client:
Version: 1.13.1
API version: 1.26
Go version: go1.7.5
Git commit: 092cba3
Built: Wed Feb 8 08:47:51 2017
OS/Arch: darwin/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 092cba3
Built: Wed Feb 8 08:47:51 2017
OS/Arch: linux/amd64
Experimental: true
$ docker-compose version
docker-compose version 1.11.1, build 7c5d5e4
docker-py version: 2.0.2
CPython version: 2.7.12
OpenSSL version: OpenSSL 1.0.2j 26 Sep 2016
рдХреГрдкрдпрд╛ рдЕрд╕рдВрдмрджреНрдзрддрд╛ рдкреГрд╖реНрда рджреЗрдЦреЗрдВ: https://docs.docker.com/compose/environment-variables/
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЖрдкрдХреА рд░рдЪрдирд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ environment
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЖрдкрдХреЗ рдХрдВрдЯреЗрдирд░/рд╕реЗрд╡рд╛ рдХреЗ рдЕрдВрджрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗред рджреВрд╕рд░реА рдУрд░ рдЪрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЗрдЬрдмрд╛рди рдкрд░ рдореМрдЬреВрдж рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ docker-compose
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд╡реЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реЗрдЯ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВ рдЕрдм рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдбреЙрдХрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЙрд▓ рдХреЛ рд▓рдкреЗрдЯ рд░рд╣реА рд╣реИ:
...
docker-compose $DOCKER_COMPOSE_FILES up $@
...
DOCKER_COMPOSE_FILES "-f file1.yml -f file2.yml ..." рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИред рдпрд╣ рд╕рдм рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореЗрд░реА рдбреЛрдХрд░-рд▓рд┐рдЦреЗрдВ рдЫрд╡рд┐ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ рдХрд┐:
...
image: "...-service:${DOCKER_TAG}"
...
рдореИрдВрдиреЗ рдХрдИ рддрд░реАрдХреЗ рдЖрдЬрдорд╛рдП:
DOCKER_TAG=... docker-compose...
рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ - DOCKER_TAG рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ?
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдХреГрдкрдпрд╛ рдЕрд╕рдВрдмрджреНрдзрддрд╛ рдкреГрд╖реНрда рджреЗрдЦреЗрдВ: https://docs.docker.com/compose/environment-variables/
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЖрдкрдХреА рд░рдЪрдирд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
environment
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЖрдкрдХреЗ рдХрдВрдЯреЗрдирд░/рд╕реЗрд╡рд╛ рдХреЗ рдЕрдВрджрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗред рджреВрд╕рд░реА рдУрд░ рдЪрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЗрдЬрдмрд╛рди рдкрд░ рдореМрдЬреВрдж рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВdocker-compose
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд╡реЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реЗрдЯ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред