티스토리 뷰
본 글은 Dockerfiile 작성법에 대해 정리한다.
Dockerfile을 이용해 image 생성 후, 실행하는 과정은 아래 글을 참고하시길 바랍니다.
2022.01.21 - [etc] - [Docker] Dockerfile을 이용하여 image 생성하기
위에는 내가 작성한 Dockerfile 이며, 이 내용을 바탕으로 각 설정에 대해 설명한다.
> FROM
기존 Docker 이미지를 바탕으로, 생성할 이미지의 바탕이 되는 이미지를 설정.
[이미지 명]:[태그 명]으로 작성
- 위 내용은 기존 ubuntu:latest 이미지를 바탕으로 Dockerfile을 작성한다는 것을 의미함 (태그를 작성하지 않은 경우 latest를 기준으로 함)
>MAINTAINER
Dockerfile의 작성자/관리자
- 위 내용은 test가 작성자/관리자임을 표기함
>RUN
쉘 스크립트, 명령 실행.
이미지가 생성되면서 RUN 내용이 실행되며, 결과적으로 RUN 내용이 포함된 새로운 이미지가 생성됨.
- 위 내용은 이미지를 생성하면서, openjdk-11-jdk를 설치하는 명령이며, "-y" 는 openjdk-11-jdk를 설치하면서 사용자
입력을 받는데, 이미지 생성 중에는 사용자 입력을 받을 수 없으므로, y를 선택하라고 지정한 것.
>ADD
이미지에 파일 추가
ADD [복사할 파일 경로] [이미지에서 파일이 위치할 경로]
- 위 내용은 Dockerfile 이 있는 동일한 경로에 jar파일이 존재하며, 해당 jar 파일을 이미지 내 example.jar로 루트 경로에 위치시킴을 의미함.
>ENV
환경변수 설정
ENV로 설정한 환경 변수는 RUN, CMD, ENTRYPOINT에 적용됨.
- 위 내용은 ENV로 설정된 args1, .., args7 환경변수가 CMD에 사용되는 것을 확인할 수 있음.
>CMD
컨테이너가 시작될 때, 실행될 실행 파일 또는 쉘스크립트
CMD는 Dockerfile에서 한 번만 사용가능
- 위 내용은 컨테이너를 실행할 때, 7개의 argument를 받아서 example.jar를 실행시키는 것을 의미함
'etc' 카테고리의 다른 글
[Docker] Dockerfile - ENTRYPOINT vs CMD (0) | 2022.01.24 |
---|---|
[Docker] container 및 images 삭제 명령어 (0) | 2022.01.24 |
[Docker] Dockerfile을 이용하여 image 생성하기 (0) | 2022.01.21 |
[JAVA] 동작 파라미터화 코드 전달 (0) | 2022.01.17 |
[wsl2] 파일 공유 ( Windows 10 <-> Ubuntu 20.04) (0) | 2022.01.17 |