diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..544ecb7 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,8 @@ +FROM mariadb:10.5.8 +ARG PASSWORD +ENV MYSQL_ROOT_PASSWORD=$PASSWORD \ + MYSQL_DATABASE=project_meat_chatbot \ + MYSQL_USER=project_meat \ + MYSQL_PASSWORD=$PASSWORD +EXPOSE 3306 +ADD scripts/initialize_db.sql /docker-entrypoint-initdb.d diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 0000000..b465470 --- /dev/null +++ b/docker/README.md @@ -0,0 +1,66 @@ +# 도커를 이용해 로컬 환경에서 데이터베이스 설정하기 +1. `cd {project-root}/project-meat-chatbot-be/docker` 명령어를 실행해 `Dockerfile`이 위치한 경로로 이동합니다. +2. `docker build -t {repository}:1.0.0 -t {repository}:latest --build-arg PASSWORD={passowrd} .` 명령어를 이용해 이미지를 빌드합니다. +
| 인자 및 옵션 | +설명 | +
| [인자] Dockerfile이 위치한 경로 | +필수 인자로 위 명령어의 .입니다. |
+
[옵션] -t |
+
+ 이미지의 태그를 지정합니다. e.g. projectmeatdb + docker images 명령어를 통해 확인할 수 있습니다. + 여러 번을 사용해 한 번에 여러 개의 태그를 설정할 수 있습니다. + :latest를 사용할 경우 {repository}만으로도 사용할 수 있습니다.
+ |
+
[옵션] --build-arg |
+ {argument-name}={argument-value} 형식으로 Dockerfile의 ARG를 오버라이딩합니다. |
+
| 인자 및 옵션 | +설명 | +
| [인자] 이미지 | +
+ 컨테이너를 생성할 이미지명을 지정해줍니다 + 2번에서 예시와 같이 projectmeatdb라고 명명하고, 1.0.0과 latest 태그를 설정했다면, + projectmeatdb 또는 projectmeatdb:1.0.0을 기입하면 됩니다. + |
+
[옵션] -p |
+
+ 로컬의 포트를 포워딩해주는 옵션입니다. + : 뒷 부분은 컨테이너의 포트인데, Dockerfile에 EXPOSE를 통해 지정되어 있습니다.
+ |
+
[옵션] --name |
+ 컨테이너 이름을 지정해주는 옵션입니다. | +
[옵션] -d |
+ 백그라운드로 컨테이너를 실행하는 명령어입니다. | +