Print
카테고리: [ Cloud Computing & MSA ]
조회수: 6624

1. 설치

Docker Hub 사이트에서 Docker Desktop for Mac 받아서 설치한다.

만약 Docker Hub 사이트 계정이 없다면 계정부터 만들어야 한다. 이메일 인증까지 받아야 해서 사실 조금 귀찮다.

아무튼 로그인이 되면 Docker.dmg 파일을 다운로드하게 된다. 다운받고 설치하는 양이 꽤 크다.

지루한 과정이 모두 끝나면 CLI에서 docker 명령어를 사용할 수 있게 된다.

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

2. Docker 이미지 만들기

간단히 Docker 이미지를 만들고 실행하는 예제를 진행한다. 우선 Spring Boot로 개발된 jar 파일을 실행하는 Docker 이미지를 만들 것이다.

현재 작업 디렉토리에는,

가 있고, target 디렉토리 안에 MyApp.jar가 있다고 가정한다.

2.1. Dockerfile

FROM openjdk:8-jre-alpine
COPY target/MyApp.jar app.jar
CMD ["java","-jar","/app.jar"]

2.2. 이미지 생성 커맨드

$ docker build -t myapp .
Sending build context to Docker daemon  18.33MB
Step 1/3 : FROM openjdk:8-jre-alpine
 ---> f7a292bbb70c
Step 2/3 : COPY target/MyApp.jar app.jar
 ---> 69641f92ce02
Step 3/3 : CMD ["java","-jar","/app.jar"]
 ---> Running in e4a513f43578
Removing intermediate container e4a513f43578
 ---> 793582135081
Successfully built 793582135081
Successfully tagged myapp:latest

3. Docker 이미지 실행

아래 8180:8180은 소스 포트, 타겟 포트가 모두 8180이라는 뜻이다. 만약 소스가 8080, 타겟이 8180이면 8180:8080이라고 설정한다.

$ docker run -d -p 8180:8180 myapp
ac4ebc1a070ad0e78e85c37b90098c2debad61e5266c3762394fa22a7a033714

docker ps로 확인한다.

$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                    NAMES
ac4ebc1a070a        myapp               "java -jar /app.jar"   8 seconds ago       Up 7 seconds        0.0.0.0:8180->8180/tcp   naughty_lichterman

잘 실행되었다. 실제 확인은 브라우저나 curl로 8180에 접근하여 보면 되겠다. 


4. Docker 참고 문서