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
'Docker' 카테고리의 다른 글
Docker 내 UTF-8 설정 및 시간 설정 (0) | 2022.05.14 |
---|---|
Container의 Log를 통한 Service 작동상태 확인 (0) | 2022.05.14 |
Service 실행(Container 생성) (0) | 2022.05.14 |
파일 이미지(Jar) 생성 및 이미지 등록 및 배포 (0) | 2022.05.14 |
Docker의 역할 (0) | 2022.05.14 |