docker-compose.override.yml로 compose 파일 덮어쓰기
5358 단어 DockerDockerfilecomposetech
배경.
로컬 개발에는 문제가 없지만 CI를 실행할 때 테스트가 실패했습니다.
docker-compose.ci.나는 회사 사람들에게yml이라는 CI용 다른 compoose 파일을 준비하고 싶지만, 회사 사람들에게docker-compose를 주고 싶다.override.제 이름은yml입니다. 저는 그것을 사용했습니다.
compose V2 정보
V1의 작법은
docker-compose
, V2의 기준은 docker compose
이다. docker-compose
는 V2를 사용할 수 있지만 언젠가는 쓸 수 없을 것이다. 이번에는 V2를 사용해 보자.docker-compose.쓰다
docker-compose.yml
services:
web:
image: httpd:2.4.53
ports:
- "8000:8000"
docker compose up -d
에서 시작하고 docker port [コンテナ名]
에서 포트 매핑을 확인합니다.8000/tcp -> 0.0.0.0:8000
8000/tcp -> :::8000
8000호를 확인한 후 docker compose down
로 용기를 삭제합니다.docker-compose.override.쓰다
docker-compose.yml
와 동일한 레이어에서 생성docker-compose.override.yml
됩니다..
├── docker-compose.override.yml
└── docker-compose.yml
docker-compose.override.ymlservices:
web:
ports:
- "8001:8000"
docker compose up -d
에서 시작하고 docker port [コンテナ名]
에서 포트 매핑을 확인합니다.8000/tcp -> 0.0.0.0:8001
8000/tcp -> :::8001
8000/tcp -> 0.0.0.0:8000
8000/tcp -> :::8000
docker-compose.yml
의 내용을 docker-compose.override.yml
로 덮어쓰고 8001호도 포트에 비쳤다.docker compose down
용기를 삭제합니다.-f 옵션으로 덮어쓰기
docker-compose.override.yml
인 경우 지정하지 않아도 덮어쓸 수 있습니다.다른 파일 이름
docker-compose.ci.yml
등의 경우 덮어쓰기를 선택할 수 있습니다.-f
아까처럼 다시 만들기docker-compose.yml
파일..
├── docker-compose.ci.yml
└── docker-compose.yml
docker-compose.ci.ymlservices:
web:
ports:
- "8002:8000"
시작할 때 다음 명령을 사용합니다.$ docker compose -f docker-compose.yml -f docker-compose.ci.yml up -d
docker-compose.ci.yml
로 포트 매핑을 확인합니다.8000/tcp -> 0.0.0.0:8002
8000/tcp -> :::8002
8000/tcp -> 0.0.0.0:8000
8000/tcp -> :::8000
docker port [コンテナ名]
로 덮어쓴 8002호 포트도 비쳤다.결과는 중복된 내용의 기록을 생략할 수 있는compose 파일 두 개가 필요합니다.
Reference
이 문제에 관하여(docker-compose.override.yml로 compose 파일 덮어쓰기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/lightkun/articles/4c54f980668eec텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)