고양이 여름이의 지식채널
도커 이미지, 컨테이너 및 도커 레지스트리 이해 (Docker) 본문
도커(Docker)는 컨테이너에서 응용프로그램을 빌드, 배포 및 실행하는 데 널리 사용되는 플랫폼입니다. 컨테이너는 코드, 런타임, 시스템 도구, 라이브러리 및 설정을 포함하여 응용 프로그램을 실행하는 데 필요한 모든 것을 포함하는 경량의 독립 실행형 소프트웨어 패키지입니다. 도커를 사용하면 일관되고 재현 가능한 방식으로 컨테이너를 쉽게 생성, 관리 및 배치할 수 있습니다.

도커는 이미지와 컨테이너라는 두 가지 주요 구성 요소와 함께 작동합니다.
도커 이미지 (docker image)
도커 이미지는 컨테이너를 생성하기 위한 Blueprint입니다. 여기에는 응용 프로그램을 실행하는 데 필요한 모든 파일, 설정 및 구성이 포함됩니다. Docker 이미지를 전체 애플리케이션 환경의 스냅샷으로 생각해 보십시오. 처음부터 이미지를 생성하거나 기존 이미지를 기본으로 사용하여 자신만의 수정사항을 위에 추가할 수 있습니다.
도커 이미지를 만들려면 도커 파일이라는 파일을 사용합니다. 도커 파일은 기본 이미지, 복사할 파일, 설치할 종속성, 노출할 포트 및 기타 구성을 지정하는 스크립트입니다. 그런 다음 도커 빌드 명령을 사용하여 도커 파일에서 이미지를 빌드할 수 있습니다.
예를 들어, 다음은 최신 버전의 Apache 웹 서버로 이미지를 생성하는 간단한 도커 파일입니다
FROM php:8.0-apache
COPY . /var/www/html/
EXPOSE 80
기본 이미지는 php:8.0-apache이며 PHP와 Apache의 최신 버전을 포함합니다.
COPY 명령은 현재 디렉토리의 내용을 이미지의 /var/www/html/ 디렉토리에 복사합니다. EXPEX 명령은 용기가 포트 80에서 수신 대기해야 함을 도커에게 알려줍니다.
도커 컨테이너 (docker container)
도커 컨테이너는 도커 이미지의 인스턴스입니다. 컨테이너를 실행할 때 자체 프로세스 및 네트워크 네임스페이스를 사용하여 이미지의 새 인스턴스를 생성합니다. 컨테이너는 서로 분리되어 있고 호스트 시스템과 분리되어 있으므로 충돌 없이 동일한 시스템에서 여러 애플리케이션을 쉽게 실행할 수 있습니다.
컨테이너를 실행하려면 docker run 명령을 사용하고 이미지 이름을 지정합니다. 예를들면
docker run -p 8080:80 my-web-server
이 예에서 -p 옵션은 호스트의 포트 8080을 컨테이너의 포트 80에 매핑합니다. my-web-server 인수는 실행할 이미지의 이름입니다.
도커 레지스트리 (docker registry)
도커 레지스트리는 도커 이미지가 저장되고 사용자에게 배포되는 중앙 저장소입니다. 도커 레지스트리는 이미지를 관리하고 이미지에 대한 액세스를 제공하는 역할을 합니다. 도커의 기본 레지스트리인 도커 허브를 포함하여 많은 공용 및 개인 레지스트리를 사용할 수 있습니다.
레지스트리에서 이미지를 다운로드하려면 docker pull 명령을 사용하고 이미지 이름을 지정합니다.
docker pull php:8.0-apache
도커 풀 명령은 도커 허브에서 php:8.0-apache 이미지를 다운로드합니다.
이미지를 레지스트리에 업로드하려면 docker push 명령을 사용하고 이미지 이름과 레지스트리를 지정합니다.
docker push my-web-server
도커 푸시 명령은 내 웹 서버 이미지를 도커 허브에 업로드합니다.
Docker 이미지, 컨테이너 및 Docker 레지스트리에 대한 이러한 이해를 통해 Docker로 애플리케이션을 구축하고 배포할 준비가 되었습니다!
도커 파일 작업 및 사용자 정의 이미지 작성 (Dockerfile/image)
도커 파일 작업 및 사용자 정의 이미지 작성 (Dockerfile/image)
도커 파일은 도커 이미지를 빌드하는 방법에 대한 지침을 포함하는 스크립트입니다. 도커 이미지는 코드, 런타임, 시스템 도구, 라이브러리 및 설정을 포함하여 소프트웨어를 실행하는 데 필요
summer-cat93.tistory.com