도커-컴포지트 빌드와 도커-빌트의 차이점은 무엇입니까?
사이의 차이점은 무엇입니까?docker-compose build그리고.docker build?
도커라이즈드 프로젝트 경로에 다음이 있다고 가정합니다.docker-compose.yml파일:
docker-compose build
그리고.
docker build
docker-compose시간을 확보하고 500자 길이의 줄을 피하기 위해 (여러 개의 컨테이너를 동시에 시작하는) 도커 CLI 주변의 포장지로 간주될 수 있습니다.이 파일은 다음과 같은 파일을 사용합니다.docker-compose.yml매개 변수를 검색하기 위해 필요합니다.
도커 작성 파일 형식에 대한 참고 자료는 여기에서 찾을 수 있습니다.
그래서 기본적으로docker-compose build당신의 것을 읽을 것입니다.docker-compose.yml, 를 포함하는 모든 서비스를 찾습니다.build:진술하고 실행합니다.docker build한 사람 한 사람 당
각각은 다음을 지정할 수 있습니다.Dockerfile, 도커에게 전달할 문맥과 아르그
예제로 마무리하는 방법docker-compose.yml파일:
version: '3.2'
services:
database:
image: mariadb
restart: always
volumes:
- ./.data/sql:/var/lib/mysql
web:
build:
dockerfile: Dockerfile-alpine
context: ./web
ports:
- 8099:80
depends_on:
- database
전화할때docker-compose build, 오직web목표물은 이미지를 만들어야 할 것입니다.docker build명령어는 다음과 같습니다.
docker build -t web_myproject -f Dockerfile-alpine ./web
docker-compose build서비스를 구축할 것입니다.docker-compose.yml파일.
https://docs.docker.com/compose/reference/build/
docker build도커 파일로 정의된 이미지를 구축합니다.
https://docs.docker.com/engine/reference/commandline/build/
기본적으로, 도커 컴포지트는 단지 도커 명령보다 도커를 사용하는 더 나은 방법입니다.
여기서 문제가 되는 것이 도커 컴포지트 빌드 명령이 여러 이미지를 포함하는 zip 종류의 것을 빌드하는 것이라면, 그렇지 않으면 일반적인 도커 파일과 별도로 빌드되었을 것입니다.
도커-컴포지트 빌드는 도커-컴포지트.yml에서 개별 서비스 항목으로 들어가 개별 이미지를 구축합니다.
도커 이미지, 명령을 사용하면 모든 개별 이미지가 저장되는 것을 볼 수 있습니다.
진짜 마법은 도커 구성입니다.
이것은 기본적으로 상호 연결된 컨테이너 네트워크를 만들어 낼 것이고, 이것은 호스트 이름과 비슷한 컨테이너 이름으로 서로 대화할 수 있습니다.
첫번째 답변에 추가...
서비스 정의 아래 이미지 이름과 컨테이너 이름을 지정할 수 있습니다.
예를 들어, 아래 도커 지정 예제에서 'web'이라고 하는 서비스의 경우, 이미지 이름과 컨테이너 이름을 명시적으로 지정하여 도커가 기본값을 사용할 필요가 없도록 할 수 있습니다.
그렇지 않으면 도커가 사용할 이미지 이름은 폴더(Directory)와 서비스 이름(예: myprojectdir_web)의 연결입니다.
따라서 도커 빌드 명령을 실행할 때 생성될 이미지 이름을 명시적으로 넣는 것이 좋습니다.
예: 이미지: my webserviceImagecontainer_name: my-webServiceImage-Container
예: docker-docker.yml 파일:
version: '3.2'
services:
web:
build:
dockerfile: Dockerfile-alpine
context: ./web
ports:
- 8099:80
image: mywebserviceImage
container_name: my-webServiceImage-Container
depends_on:
- database
의 에 의 에 docker build그리고.docker-compose build 다 . 둘 다 기존 이미지를 레이어의 캐시로 사용하여 이미지를 구축하는 옵션이 있습니다.
- 와 함께
docker build, 옵션은 - 와 함께
docker-composer, 꼬리표가 달려있습니다.build부분.
불행히도 지금까지 이 수준에서 한 사람이 만든 이미지는 계층의 캐시로서 다른 이미지와 호환되지 않습니다(Id는 호환되지 않음).하지만,docker-compose v1.25.0(2019-11-18)에서는 다음과 같이 실험 기능을 도입합니다.docker-compose 빌더(native docker builder native docker builder,음든지가e)를 사용합니다.docker build로수다다r수nfeasd의docker-compose build)
언급URL : https://stackoverflow.com/questions/50230399/what-is-the-difference-between-docker-compose-build-and-docker-build
'codememo' 카테고리의 다른 글
| 명령줄에서 (스크립트가 아닌) PowerShell을 시작하는 방법 (0) | 2023.09.10 |
|---|---|
| 퍼블릭 도메인 라이센스가 있는 최상의 zip 라이브러리 (0) | 2023.09.10 |
| ASCII 문자를 CGKeyCode로 변환하는 방법은? (0) | 2023.09.10 |
| JSON_EXTRACT가 mysql 5.7.22의 mysql에 없습니다. (0) | 2023.09.10 |
| Excel 파일 다운로드 오류 대응 (0) | 2023.09.10 |