티스토리 뷰
개발하면서 Docker 를 사용해야 하는 일이 생겼다. 아주 기초적이지만, Dockerfile을 작성하여 image를 생성하는 방법을 기록해보고자 한다. 본 글에서는 Docker 에 대한 설명이 아닌, 실행과정에 초점을 두었다.
※ Docker hub에 있는 image를 받아서 실행한 후, 컨테이너 내에서 필요한 프로그램을 받은 이후에 다시 image 화하는 방법이 있다고 하는데... 이 방법은 추후에 해보는걸로 !
※Dockerfile 작성법에 대해 궁금하다면 아래 확인
2022.01.21 - [etc] - [Docker] Dockerfile 작성법
준비사항
- Docker 설치 후 실행되어 있어야 함
Docker image를 생성하기 위한 디렉토리 생성
- 원하는 경로에 디렉토리 생성
※ 해당 디렉토리 내에서 Dockerfile, 실행가능 jar 파일을 추가할 것이다.
( 여기서는 docker-example1 이라는 디렉토리를 생성하였다.)
$mkdir [원하는 디렉토리 명]
Dockerfile 작성
필요한 파일들을 포함하여 Dockerfile을 작성한다.
- ubuntu 20.04
- Dockerfile 작성자
- openjdk 11
- 실행가능 jar 파일
- 외부 args[] 입력을 받음 ( 해당 jar 파일은 총 7 개의 args를 받음 )
※ 추가할 jar 파일은 본 글에서는 Dockerfile 경로(docker-example1)와 동일한 경로에 존재함
build 명령을 이용하여, Dockerfile로부터 Docker image 생성하기
- tag 옵션을 이용하여 image 명, 태그 설정
※ image 이름만 설정하면 tag는 latest로 설정됨
$docker build --tag [image 명]:[tag 명] [Dockerfile위치]
Dockerfile로부터 image가 생성되면, 아래와 같이 Docker Desktop에서 확인할 수 있다.
또는, 아래의 명령을 통해서도 확인가능하다.
$docker images
Docker 실행
이제, 생성된 image 내에 있는 jar 파일을 run을 이용하여 실행시킨다.
Dockerfile 내 ENV 에 맞춰서 args를 포함하여, jar를 실행시키도록 한다.
args 입력 방법: -e [key]=[value]
※ 현재는 7개의 args를 받기위해, -e [key1]=[value1] -e [key2]=[value2] ... 이런식으로 각각 작성하는데....
한번에 입력받을 수 있는 방법이 있다면 알려주시면 감사하겠습니다.(꾸벅)
$docker run -e args1=1 -e args2=2 -e args3=3 -e args4=4 -e args5=5 -e args6=6 -e args7=7 [image 명]
아래는 container 확인 방법이다.
$docker ps
'etc' 카테고리의 다른 글
[Docker] container 및 images 삭제 명령어 (0) | 2022.01.24 |
---|---|
[Docker] Dockerfile 작성법 (0) | 2022.01.21 |
[JAVA] 동작 파라미터화 코드 전달 (0) | 2022.01.17 |
[wsl2] 파일 공유 ( Windows 10 <-> Ubuntu 20.04) (0) | 2022.01.17 |
[JUnit5] 단위테스트 - private method/field + exception 테스트 방법 (0) | 2021.12.22 |