본문 바로가기
Docker/Docker file 사용법 익히기

[Docker File 익히기] 3. LABEL과 COPY 명령어, docker inspect 사용해보기

by Fletcher 2024. 8. 14.

 

반갑습니다!

저번 포스트에서 FROM 명령어를 이용해서

아주 간단하게 Dockerfile을 생성했었습니다 ^^

 

이번에는 LABEL 명령어와 COPY 명령어를 사용해보겠습니다!

 

 

 

LABEL 명령어를 이용하면

<key>=<value> 형식으로 메타 데이터를 넣을 수 있습니다 ^^

 

보통 작성자, 버전, 설명, 작성일자 등을 각각 maintainer, version, description 등의 이름으로 정하고

해당하는 값을 넣어서 정보를 표기합니다 ^^

 

 

 

빌드한 docker image에 대해 정보를 상세하게 조회할 수도 있는데요 ^^

$ docker inspect [이미지ID 또는 이름] 명령어를 입력하면

위 화면과 같이 상세한 정보들을 조회할 수 있습니다 ^^

 

보시는 바와 같이 Cmd정보와 Labels 정보가 보이는데요

Dockerfile에 기입한대로 description, maintainer, version 정보가

기재되어 있는 것을 확인할 수 있겠습니다 ^_^!

 

 

 

그 다음으로는 COPY 명령어가 있습니다

호스트 PC의 파일들 중 이미지에 추가할 파일들을 설정하는 부분인데요

저는 DOCKER_TEST_HTML 디렉토리의 하부 폴더들을 모두

apache의 기본 디렉토리 설정 경로인 /usr/local/apache2/htdocs에 넣어주기 위해서

위와 같이 COPY 명령어를 사용하여 지정해줬습니다 ^^

 

이미지 생성 및 컨테이너 실행 후 해당 IP 주소의 해당 포트로 접근하면

포트 포워딩을 통해 컨테이너로 실행중인 아파치의 기본 설정인 80번 포트로 접근하여서

이미지 생성시 넣어준 html 파일이 렌더링 되어 화면에 출력됩니다 ^^

 

 

 

 

그 다음은 CMD 명령어입니다

세 가지의 형태로 CMD 명령을 작성할 수 있는데요

 

①명령어, 인자를 리스트처럼 작성하는 형태

CMD ["executable", "param1", "param2", ...]

ex) CMD ["/bin/sh", "-c", "echo", "Hello"]

 

②ENTRYPOINT 명령어에 인자를 리스트처럼 작성하여 넘겨주는 형태

CMD ["param1", "param2", ...]

 

③쉘 명령처럼 작성하는 형태

CMD <command> <param1> <param2> ...

 

여기서 ①의 방법이 가장 추천됩니다 ^^

 

 

 

위와 같이 Dockerfile을 설정한 다음에 build하여 이미지를 생성하고,

컨테이너를 백그라운드로 실행시켰습니다 ^^

 

 

 

Cmd 부분을 보시면

CMD 명령을 기재하기 이전과는 다른 형태의 정보들이 조회되는 것을 확인할 수 있겠습니다 ^^

 

 

 

 

이번 포스트에서는 Dockerfile을 작성할 때 사용하는

LABELS, COPY, CMD 명령에 대해서 알아보았습니다 ^^

다음 포스트에 이어서 계속 나머지 명령어들을 살펴보도록 하겠습니다 !