Docker 및 Docker Compose를 사용하여 이미지에 태그 지정

Marion Paul Kenneth Mendoza 2023년6월20일
  1. Docker Build를 사용하여 Docker의 이미지에 태그 지정
  2. Docker Compose YAML 파일에서 이미지에 태그 지정
Docker 및 Docker Compose를 사용하여 이미지에 태그 지정

Docker 이미지를 생성할 때 설명적이고 의미 있는 이름을 지정하는 것이 가장 좋습니다. 이 프로세스를 통해 특히 많은 이미지로 작업할 때 이미지를 보다 쉽게 식별하고 관리할 수 있습니다.

이 기사에서는 Docker 및 Docker Compose에서 이미지에 태그를 지정하는 방법에 대해 설명합니다.

Docker Build를 사용하여 Docker의 이미지에 태그 지정

Docker는 Dockerfile에서 이미지 태그 지정을 지원하지 않습니다. 대신 docker build 명령을 사용하여 이미지에 태그를 지정합니다.

Docker 이미지의 이름을 지정하려면 docker build 명령을 실행할 때 -t 또는 --tag 옵션을 사용합니다.

예제 코드:

docker build -t my-image .

이 명령에서 -t 옵션은 이미지 이름을 my-image로 지정합니다. 이미지 이름은 이미지가 저장된 레지스트리 내에서 고유해야 합니다.

기존 이름으로 이미지를 빌드하려고 하면 오류 메시지와 함께 빌드가 실패합니다.

Docker 이미지의 이름을 지정할 때 이름에 역 도메인 이름 표기법을 사용하는 것이 좋습니다. 이는 Docker가 이미지에 대한 계층적이고 고유한 네임스페이스를 자동으로 제공하기 때문입니다.

예를 들어 회사 도메인이 example.com인 경우 Docker 이미지 이름을 com.example.my-image로 지정할 수 있습니다.

Docker Compose YAML 파일에서 이미지에 태그 지정

바닐라 Docker처럼 Docker Compose에서 이미지에 태그를 지정할 수 없습니다. 그러나 유일한 차이점은 docker-compose.yml 파일에서 이미지에 태그를 대신 지정할 수 있다는 것입니다.

예 YML 파일:

version: "3"
services:
    web:
        image: my-image:v3

이제 이미지를 빌드하기 위해 동일한 docker build 명령을 사용하고 -t 또는 --tag 옵션을 사용하여 이미지의 이름과 버전을 지정할 수 있습니다.

예제 코드:

docker compose build -t my-image:v3 .

이 명령에서 -t 옵션은 이미지의 이름과 버전을 my-image:v3로 지정합니다. 명령 끝에 있는 마침표(.)는 빌드 컨텍스트를 설정하고 빌드 컨텍스트는 Docker Compose의 시스템 내부에서 YAML 파일을 찾을 수 있는 디렉터리입니다.

이미지를 빌드할 때 Docker Compose는 YAML 파일을 읽고 이미지 명령을 사용하여 지정된 이름과 버전을 이미지에 추가합니다. 그런 다음 docker images 명령을 사용하여 태그가 지정된 이미지 목록을 볼 수 있습니다.

예제 코드:

docker images

출력:

REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
my-image                     v3                 abc123              9 days ago          1GB

전반적으로 Docker 이미지에 설명적이고 의미 있는 이름을 지정하는 것은 쉽게 식별하고 관리하는 데 필수적입니다. 역방향 도메인 이름 표기법 및 태그를 사용하면 이미지에 대한 계층적이고 고유한 네임스페이스를 생성하고 이미지의 다른 버전을 빠르게 식별할 수 있습니다.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

관련 문장 - Docker Image