1. Dockerfile(Service)

# user-service의 Dockerfile
FROM openjdk:17-ea-11-slim
VOLUME /tmp
COPY target/user-service-0.0.1.jar UserService.jar
ENTRYPOINT ["java","-jar","UserService.jar"]
  • FROM절 : JDK 중 Light한 것으로 골라 넣어주었다.
  • VOLUME절 :
  • COPY절 : (현재 위치는 프로젝트 내 Root Point) target/user-service-0.0.1.jar파일을 UserService.jar 이미지로 복사
  • ENTRYPOINT절 : 엔트리 포인트로 해당 명령어를 삽입

2. Dockerfile(MariaDB)

# LocalPC에서 사용하던 MariaDB를 복사하기 위한 Dockerfile
FROM mariadb
ENV MYSQL_ROOT_PASSWORD 00000000
ENV MYSQL_DATABASE mooddb
COPY ./mysql_data/mysql /var/lib/mysql
EXPOSE 3306
ENTRYPOINT ["mysqld", "--user=root"]
  • FROM절 : mariadb
  • ENV절 : root password를 00000000로 설정하고 database를 mooddb로 사용
  • COPY절 : 해당 폴더 내 mysql을 가상공간의 해당위치로 복사
  • EXPOSE절 : 포트 번호는 3306을 사용
  • ENTRYPOINT절 : 엔트리 포인트로 해당 명령어를 삽입

옮길 자료가 없다면 굳이 databases를 통째로 옮길 필요없이, Docker에서 제공하는 이미지를 내려받아 사용하면 된다.

DockerFile 내용을 보면 mysql_data라는 폴더를 만들었고 데이터베이스 내용을 담고 있는 mysql폴더를 복사해왔다. 컨테이너가 생성되면 /var/lib/mysql에 복사되어 들어가게 된다.

 

 

해당 글은 Notion에 정리한 글을 옮긴 글입니다.

https://seojeonghyeon0630.notion.site/Docker-Document-2734a3999d674848b49fbfce3639a178

가상머신과 같이 OS위에 컨테이너를 생성하여 해당 컨테이너 공간에 이미지를 생성해주는 역할을 한다.

  • Build는 DockerFile을 토대로 원하는 대상을 이미지로 만드는 작업이다.
  • Push는 Build된 이미지를 Docker서버로 이미지를 올리는 작업이다.
  • Pull은 Docker서버로부터 이미지를 받는 작업이다.
  • Run은 이미지를 컨테이너 내에 생성하는 작업이다.

 

 

해당 글은 Notion에 정리한 글을 옮긴 글입니다.

https://seojeonghyeon0630.notion.site/Docker-Document-2734a3999d674848b49fbfce3639a178

 

Docker Document

가상머신과 같이 OS위에 컨테이너를 생성하여 해당 컨테이너 공간에 이미지를 생성해주는 역할을 한다.

seojeonghyeon0630.notion.site

 

+ Recent posts