Compose: docker-compose๋ฅผ ํ†ตํ•ด ๋ณต์‚ฌ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 12์›” 03์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: docker/compose

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

project_root/.travis/debian-stretch/minion/Dockerfile

FROM debian:stretch
COPY .travis/entrypoint_minion_run.sh /opt/
COPY .travis/config/minion.conf /etc/salt/minion.d/minion.conf
COPY .travis/config/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
RUN apt-get update && \
    apt-get install -y curl supervisor && \
    curl -L https://bootstrap.saltstack.com | sh

ENTRYPOINT ["/opt/entrypoint_minion_run.sh"]

project_root/.travis/debian-stretch/docker-compose.yml

version: '3.4'
services:
  master:
    build: .travis/debian-stretch/master
    hostname: master
    domainname: public.com
    ports:
     - "4505:4505"
     - "4506:4506"
    links:
      - minion1
      - minion2
      - minion3
  minion1:
    build: .travis/debian-stretch/minion
    hostname: minion1
    domainname: public.com
  minion2:
    build: .travis/debian-stretch/minion
    hostname: minion2
    domainname: public.com
  minion3:
    build: .travis/debian-stretch/minion
    hostname: minion3
    domainname: public.com

project_root :

  • docker build -f .travis/debian-stretch/minion/Dockerfile . ์ปจํ…Œ์ด๋„ˆ ๋นŒ๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค : docker-compose -f .travis/debian-stretch/docker-compose.yml --project-directory=. build minion1

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹คํŒจ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Building minion1
Step 1/6 : FROM debian:stretch
 ---> 6d83de432e98
Step 2/6 : COPY .travis/entrypoint_minion_run.sh /opt/
ERROR: Service 'minion1' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder127631070/.travis/entrypoint_minion_run.sh: no such file or directory

๋ฌผ๋ก  entrypoint_minion_run.sh ๋Š” project_root/.travis/entrypoint_minion_run.sh

๋ฒ„๊ทธ์ž…๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด docker-compose.yml ๋˜๋Š” ์„ค์ •์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚ด docker-ce ๋ฒ„์ „ : Docker version 17.09.0-ce, build afdb6d4
๋‚ด docker-compose ๋ฒ„์ „ : docker-compose version 1.17.1, build 6d101fb

arebuild kinquestion

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋นŒ๋”๊ฐ€ project_root/.travis/debian-stretch/minion/.travis/entrypoint_minion_run.sh ๋ณต์‚ฌ๋ฅผ ์‹œ๋„ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹œ๋„

minion1:
  build:
    context: .
    dockerfile: .travis/debian-stretch/minion/Dockerfile

๋ชจ๋“  3 ๋Œ“๊ธ€

๋นŒ๋”๊ฐ€ project_root/.travis/debian-stretch/minion/.travis/entrypoint_minion_run.sh ๋ณต์‚ฌ๋ฅผ ์‹œ๋„ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹œ๋„

minion1:
  build:
    context: .
    dockerfile: .travis/debian-stretch/minion/Dockerfile

๊ท€ํ•˜๊ฐ€ ์ œ์•ˆํ•œ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์งˆ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. docker-compose -f .travis/debian-stretch/docker-compose.yml --project-directory=. build ?

@kiemlicz ๋‹น์‹ ์ด ์“ธ ๋•Œ

build: .travis/debian-stretch/master

๊ทธ๊ฒƒ์€

build:
  context: .travis/debian-stretch/master
  dockerfile: Dockerfile

--project-directory ์ง€์‹œ์–ด๋Š” ๊ทธ๊ฒƒ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰