password는 제대로 작성해야한다 (배포시 해킹 당할 위험있음)
# 도커 허브에서 이미지를 가져와서 이미지를 작업한다
# FROM (이미지 이름:버전)
FROM mariadb
# 컨테이너 실행 전 작동할 명령
# RUN (명령)
# 타임존 설정 (설정을 하지 않으면 시간 저장시 다른 시간대로 저장됨)
RUN ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
RUN echo Asia/Seoul > /etc/timezone
# 이미지 내부 환경 설정
# ENV (타겟) (내용)
ENV MYSQL_USER testuser
ENV MYSQL_PASSWORD password
ENV MYSQL_ROOT_PASSWORD password
docker build -t 이미지이름 도커파일경로
docker build —platform linux/amd64 -t 이미지이름 도커파일경로
-t 옵션 : 이미지 태그
볼륨을 설정하지 않으면 도커 재배포 시 데이터베이스 데이터가 삭제되기 때문에 볼륨을 설정하여 따로 저장해야한다.
볼륨 생성 이후에는 삭제하지 않고 백업해야 안전하다.
docker volume create 볼륨이름
docker volume ls 으로 볼륨 확인가능
docker run -it --restart=always -d -p 3306:3306 -v 볼륨이름:/var/lib/mysql --name 컨테이너이름 이미지이름
-it : 컨테이너 접속용
--restart=always : 도커 재구동시 자동 실행
-d : 백그라운드 실행
-p : 포트설정 ex) 80:8080 80으로 접속시 8080으로 인바운드
-v : 볼륨 설정
--name : 컨테이너 이름 설정
데이터베이스는 연결된 서버와 관리자 IP 주소만 열어두는 것이 좋다.