Docker와 Docker-compose의 차이점?
이전에 Docker에 Spring 서버와 MariaDB 서버의 이미지를 구축하는 포스팅을 했었다.
이번 포스팅에서는 yml file을 기반으로 다중 컨테이너를 관리할 수 있도록 Docker-compose를 사용해
Spring, MariaDB 컨테이너를 정의해보려 한다.
단순히 이미지 빌드하는 것만으로는 서버를 켤 수 없는 것인것 같다..
(이 부분은 다시 복습하기 !!)
1. Docker Compose 설치하기
(참고)
https://soyoung-new-challenge.tistory.com/73
[Docker-Compose] 도커 컴포즈 설치 및 사용
이번 포스팅은 도커 컴포즈 설치와 사용방법 등을 다룬 내용입니다. 도커 설치 - 도커 컴포즈 설치 전, 도커를 설정하고 사용방법을 아래 포스팅을 통해 익힌다. - 도커 설치 포스팅 : https://soyoung
soyoung-new-challenge.tistory.com
sudo curl -L "https://github.com/docker/compose/releases/download/2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose -version
docker-compose의 버전이 확인되면 설치 완료!
2. Docker-compose.yml 파일 작성
프로젝트의 루트 디렉터리로 들어가서 docker-compose.yml 파일을 생성한다.
docker-compose를 이용하여 Spring Boot + MariaDB 간단하게 배포하기
안녕하세요 오늘은 Spring Boot + MariaDB 로 이루어진 프로젝트를 간편하게 배포하는 방법을 알아보도록 하겠습니다.
slog.website
(참고)
docker-compose up을 입력하면 docker-compose가 실행되고
dev 페이지에 접속되는 것을 확인할 수 있다.
+) volume이란?
Docker에서는 컨테이너의 생명 주기와 관계없이 데이터를 영속적으로 저장할 수 있도록 두 가지 옵션을 제공한다
첫번째는 볼륨, 두번째가 바인드 마운트라고 하는 것인데,
데이터를 container가 아닌 Host에 저장할 때, 또는 Container간의 데이터를 공유할 때 볼륨을 사용한다 .
즉 컨테이너가 파기되더라도 내부 데이터는 볼륨을 설정함으로써 호스트 OS에 저장될 수 있는 것이다.
해당 docker-compose.yml 파일에서 사용된 Volume은,
호스트 디렉토리와 컨테이너의 Volume을 연결하는 역할로 사용된다
3. Docker Secret 기능 사용하기
Compose file version 3 reference | Docker Documentation
Compose file version 3 reference
docs.docker.com
DB 관련 정보가 docker-compose.yml 파일에 노출된 상태이므로,
따로 환경변수 폴더를 만들어서 정보를 저장한 다음 끌어오는 기능을 사용할 예정이다.
해당 프로젝트의 경우 env 폴더를 루트 경로에 하나 만들어서 password, user, db 정보가 들어있는 파일을 생성해
아래 secrets 속성에서 Key값을 지정해주었다.
그리고 Service에서 secret 속성으로 source와 target을 지정해 docker 내부에 파일을 저장
DB 정보가 필요한 부분에서 이를 사용하면 된다.
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/047.gif)
끝
'Server > Docker' 카테고리의 다른 글
[ICE-LIFE] Docker MySQL 및 PHP 컨테이너 설치 및 연동 (0) | 2023.01.03 |
---|---|
[ICE-LIFE] Docker web server 설치 + 데스크탑 Ubuntu PC에 Jupyter Notebook 설치하기 (0) | 2022.11.02 |
Docker Container 시작하기, Docker Voulme 사용 (0) | 2022.07.14 |
Docker SpringBoot, MariaDB 이미지 빌드하기 (0) | 2021.12.25 |
시니어 코딩 Linux, Docker 강의 Write-up (0) | 2021.12.21 |