웹사이트 검색

Docker 컨테이너 이름 지정을 위한 3가지 팁


소개

Docker 컨테이너를 생성하면 범용 고유 식별자(UUID)가 할당됩니다. 이는 이름 충돌을 피하고 사람의 개입 없이 자동화를 촉진하는 데 필수적입니다. 호스트와 네트워크에 대한 컨테이너를 효과적으로 식별합니다. 그러나 사람이 읽을 수 있는 64자의 긴 디스플레이 또는 285c9f0f9d3d와 같이 보일 수 있는 더 자주 표시되는 12자의 짧은 형식에서 사람이 구분하는 데 더 많은 노력이 필요합니다.

사람을 돕기 위해 Docker는 밑줄로 결합된 두 단어에서 임의로 생성된 이름을 컨테이너에 제공합니다. evil_ptolemy. 이렇게 하면 한 컨테이너를 다른 컨테이너와 쉽게 구분할 수 있지만 임의의 이름은 UUID보다 컨테이너 기능에 대한 통찰력을 더 이상 제공하지 않습니다.

컨테이너로 작업하는 방법을 배우면서 베어링을 더 쉽게 유지할 수 있는 세 가지 팁이 있습니다.

1 — 실행할 때 컨테이너 이름 지정

--name=meaningful_namedocker run 명령에 추가하면 evil_ptolomy가 대화식 세션에서 다음과 같이 더 잘 인식됩니다. docker ps와 같은 명령의 출력에서도 마찬가지입니다. 그러나 한계가 있습니다. 컨테이너 이름은 고유해야 하므로 고의적인 이름 지정을 사용하거나 하나의 컨테이너 이상으로 서비스를 확장할 수 없습니다.

명령줄 또는 Dockerfile에서:

예를 들어 nginx 기본 이미지를 기반으로 컨테이너를 실행하고 다음과 같이 시작한 경우:

  1. docker run --name nginx -d nginx

이름은 실행 중인 컨테이너 목록에 나타납니다.

  1. docker ps
Output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 08f333ef7216 nginx "nginx -g 'daemon off" 15 seconds ago Up 14 seconds 80/tcp, 443/tcp nginx

이름이 docker ps의 출력에 표시되고 컨테이너를 관리하는 데 사용할 수 있지만 컨테이너에 연결하는 경우 컨테이너의 명령 프롬프트나 로그 파일에 이름이 나타나지 않습니다. 이를 위해서는 호스트 이름도 지정해야 합니다.

2 — 컨테이너에 호스트 이름 할당

--hostname 명령에 제공된 값은 컨테이너 내부의 /etc/hostname/etc/hosts 내부에 설정됩니다. 결과적으로 명령 프롬프트에 나타납니다. 컨테이너 DNS를 구성하는 역할을 하며 다중 컨테이너 설정의 학습 단계에서 도움이 될 수 있습니다. 컨테이너 외부에서는 접근이 쉽지 않으나 컨테이너의 로그 파일에 나타나게 되며 해당 파일을 호스트와 독립된 볼륨에 기록하게 되면 컨테이너를 쉽게 식별할 수 있다.

CLI 및 Dockerfile:

--name--hostname은 모두 컨테이너를 식별하는 데 유용하지만 때로는 컨테이너의 이름을 지정하는 것이 아닙니다. 오히려 컨테이너가 직접 청소해야 한다는 것을 기억하지 않고 자체적으로 청소하도록 하는 것에 관한 것입니다.

3 — 컨테이너가 종료되면 자동으로 컨테이너 삭제

디버깅할 때 중지된 컨테이너가 종료된 후에도 지속되는 것이 유용합니다. 로그 파일과 같은 데이터를 유지하고 컨테이너의 최종 상태를 조사할 수 있습니다. 그러나 때로는 컨테이너를 실행할 때 작업이 완료되면 원하지 않는 컨테이너를 알고 있습니다. 이 경우 --rm 플래그를 사용하여 종료 시 자동으로 삭제할 수 있습니다. 이렇게 하면 물건을 더 쉽게 깨끗하게 유지할 수 있습니다.

하지만 조심하세요! Docker 볼륨을 사용하는 경우 --rm은 이름으로 지정되지 않은 볼륨을 제거합니다.

CLI 및 Dockerfile:

이는 이미지를 빌드하고 실행 중인 컨테이너에 연결해야 할 때 매우 유용합니다. 둘러보고 싶고 다시 사용하지 않을 컨테이너로 디스크를 채우고 싶지는 않습니다.

결론

docker run, --name, --hostname--rm에 대한 이 세 플래그는 각각, 도커를 배울 때 무엇이 무엇인지 더 쉽게 알 수 있도록 합니다. Docker 컨테이너 작업 가이드에서 컨테이너 및 docker run 명령 작업에 대해 자세히 알아볼 수 있습니다.