Docker-compose 사용법 - 기초
Docker-compose 는 써보고 신세계란걸 느꼈다. dockerfile 만 쓸땐 몰랐던 ... 와 이런것도 되는구나! 라는 생각이 들었다. 특히 로컬에 mysql 을 띄우고 빠르게 개발을 할땐 엄지를 척! 하고 올릴만한 기능인거 같다. 도커를 제대로 쓰려면 compose 는 기본이군! 이라고 말하고 싶다. 아직 사용하는데 많이 공부를 해야겠지만 일단 손에만 익숙해지면 어지간한 구성은 손쉽게 만들수 있을거 같다.
version: '2'
services:
cabin_db:
image: mysql:latest
volumes:
- "./.mysql-data/db:/var/lib/mysql"
restart: always
ports:
- 13306:13306
environment:
MYSQL_ROOT_PASSWORD: root!!
MYSQL_DATABASE: test
MYSQL_USER: admin
MYSQL_PASSWORD: admin!!
기본적으로 yml 구성이며, 위에 샘플은 mysql 이다. 샘플이 짧아서 넣어 봤다. 일단 이것도 검색하면 아주 많이 나온다. 구글링을 통해서 개인마다 입맛에 맞춰서 yml 을 작성 해놓은것들이 아주 아주 많다. 솔직히 잘만들어놓은 yml 가져다 쓰는게 나쁘지 않다고 본다.
위에 보면 설정이 그닥 많지 않지만 충분이 더 추가가 가능하다. 난 간단히 포트와 계정정도만 세팅을 했고 image 부분은 실제 제공되는 docker image 중 어떤것을 쓰는지 선택하는부분이다 .
개인적으로 개발할때 개발서버에 데이터베이스를 띄워놓고 하는것도 좋지만 신규기능 개발일때는 이렇게 로컬에 띄워놓고 사용하는것도 좋다고 본다.
일단, 이렇게 compose 파일을 작성을 했다면 mysql docker 를 실행해야한다. 명령어는 아주아주 간단하다.
$ docker-compose up
이러면 끝! 바로 접속해보면 접속이 되는게 확인된다. docker-compose 명령에 대해서도 정리를 해놓으려고 한다. 기억력의 문제로 !
# help 명령어 - 사용 가능한 docker-compose의 모든 명령어
$docker-compose --help
# background에서 실행하기
$docker-compose up -d
# logs 확인
$docker-compose logs
# ps 확인
$docker-compose ps
$docker-compose top
# stop commands
$docker-compose down
docker-compose 를 찬양 하리라 ! 열심히 좀더 공부 하기로!