이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 9930|회답: 2

dockerfile과 docker-compose의 차이점

[링크 복사]
게시됨 2019. 11. 15. 오전 9:33:13 | | |
dockerfile과 docker-compose의 차이점
도커의 사용 과정을 간단히 이해해 보겠습니다. 도커는 이미지 구축과 컨테이너 시작으로 나뉩니다.

이미지 구성: 설치 및 운영에 필요한 환경, 프로그램 코드 등을 포함하는 이미지를 생성하는 것입니다. 이 생성 과정은 도커파일을 사용해 이루어집니다.

컨테이너 시작: 컨테이너는 빌드된 이미지를 끌어와서 포트 매핑, 외부 데이터 마운트, 환경 변수 등 일련의 실행 명령어를 통해 서비스를 시작함으로써 실행됩니다. 단일 컨테이너의 경우, docker run을 통해 실행할 수 있습니다.

여러 컨테이너를 실행하는 경우(예: 서비스 오케스트레이션) docker-compose를 통해 구현할 수 있는데, 이는 여러 컨테이너를 서비스로 쉽게 실행할 수 있고(물론 하나만 포함), 확장(서비스 확장) 기능도 제공합니다.

간략한 요약:

1.dockerfile: 이미지 빌드;

2. 도커 런: 컨테이너 시작;

3. docker-compose: 서비스 시작;

처음부터 다시 시작해.
도커를 사용하지 않는다면 워드프레스는 어떻게 구축하나요? 먼저 서버를 찾아서 운영체제가 우분투라고 가정한 뒤, 문서를 따라 단계별로 명령어를 입력하고 구성을 작성하는 거죠?
도커를 사용하는 건 어떨까요? 서버를 찾아보세요. 운영체제가 무엇이든 도커를 지원하고, 도커가 우분투를 실행하고, 도커가 공식 소스에서 최신 우분투 이미지를 가져와요. 우분투 가상 머신을 열어 단계별로 설치하는 것처럼 생각하면 됩니다.

하지만 이 설치에는 큰 단점이 있습니다: 컨테이너를 삭제하면 아무런 작업이 이루어지지 않는다는 점입니다. 물론, docker commit을 사용해 이미지를 저장해 재사용할 수도 있습니다.

하지만 이미지는 대체로 크고, 이미지만 공유하면 다른 사람들이 당신의 이미지에 무엇이 담겨 있는지 알지 못해 공유와 재사용에 유리하지 않습니다.
직관적인 해결책은 설치 과정을 모두 기록하는 스크립트를 작성하는 것입니다. 그래야 다시 설치할 때 실행할 수 있습니다. Dockerfile은 이미지 제작 과정을 문서화하는 스크립트 중 하나입니다.
Dockerfile을 사용할 때는 docker build .를 실행하세요. 이미지를 만들 수 있고, Dockerfile은 텍스트 파일이라 수정이 매우 쉽습니다.

이제 워드프레스 이미지를 만들었으니, 워드프레스를 시작하려면 docker run만 하면 됩니다.

워드프레스만 있으면 충분합니다. 하지만 많은 경우, nginx, mysql, 메일 서비스 등과 같이 서비스를 시작하려면 여러 이미지가 필요합니다.
더 일반적으로는 nginx, mysql, smtp가 모두 이미지이고, 이 이미지들이 함께 작동하여 프로젝트를 지원합니다.
docker-compose가 이 문제에 대한 해결책입니다. 프로젝트에 필요한 이미지, 각 이미지 구성 방법, 마운트할 볼륨 등에 대한 정보가 docker-compose.yml에 포함되어 있습니다.
서비스를 시작하려면 docker-compose up만 하면 되고, 중단하려면 docker-compse stop/down만 하면 됩니다

요약하자면, Dockerfile은 단일 이미지의 구성 과정을 기록하는 docker-compse.yml, 보통 여러 이미지의 프로젝트의 구성 과정을 기록합니다.

일부 튜토리얼은 dockerfile+docker-compose를 사용한다고 하셨는데, docker-compose.yml 자체에는 이미지 빌드 정보가 없고, 이미지가 docker 레지스트리에서 가져온다면 dockerfile이 필요 없기 때문입니다; 이미지를 구축해야 한다면 Dockerfile이 제공되어야 합니다.

도커-컴포즈이것은 오케스트레이션 컨테이너입니다. 예를 들어, php 이미지, mysql 이미지, nginx 이미지가 있습니다. 도커 컴포지션이 없다면, 매번 시작할 때마다 각 컨테이너의 시작 매개변수, 환경 변수, 컨테이너 이름, 각 컨테이너의 링크 매개변수 지정, 그리고 일련의 연산을 입력해야 하는데, 꽤 번거롭습니다. docker-composer를 사용하면 이 명령들을 한 번에 docker-composer.yml 파일에 작성할 수 있고, 전체 환경(3개의 컨테이너 포함)을 시작할 때마다 docker-composer up 명령어만 입력하면 됩니다.

dockerfile역할은 처음부터 거울상을 만드는 것입니다. 설치 및 운영에 필요한 환경, 프로그램 코드 등을 포함합니다. 이 생성 과정은 도커파일을 사용해 이루어집니다. Dockerfile - 독립 실행형 이미지를 생성하기 위한 docker 빌드 명령어를 준비한 것으로, 라이브 빌드를 위한 docker-compose에서도 사용할 수 있습니다
docker-compose.yml - 여러 컨테이너를 동시에 관리할 수 있는 docker-compose용 스크립트로, 공식 이미지로 빌드할지 직접 빌드할지 여부, 다양한 네트워크 포트 정의, 저장 공간 설정 등을 포함합니다.




이전의:사이트 "SITE NAME"의 URL "http://xx/" 등록에 실패했습니다...
다음:도커는 Windows 시스템 내에서 이미지 위치를 저장합니다
 집주인| 게시됨 2022. 12. 18. 오후 2:56:50 |
centos 설치 Docker Compose 튜토리얼
https://www.itsvse.com/thread-5164-1-1.html
 집주인| 게시됨 2025. 3. 5. 오전 10:37:33 |
BuildKit은 기존 빌더를 대체하는 개선된 백엔드입니다. 버전 23.0부터는 BuildKit이 Docker 데스크톱과 Docker 엔진 사용자들의 기본 빌더가 되었습니다.

하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다.

면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com