도커(Docker)는 애플리케이션을 컨테이너(container)라는 격리된 환경에서 실행할 수 있게 해주는 오픈 소스 플랫폼입니다. 도커는 개발자가 코드를 로컬에서 작성하고 테스트한 뒤, 동일한 환경에서 배포할 수 있도록 지원합니다. 이를 통해 '작동하지 않는다'는 문제를 해결하고, 일관성 있는 배포가 가능해집니다.
맥에서 도커를 설치하고 설정하는 방법은 다음과 같습니다:
Docker Desktop for Mac을 다운로드합니다.
설치가 완료되면, Docker Desktop을 실행합니다.
터미널을 열고 다음 명령어를 실행하여 도커가 제대로 설치되었는지 확인합니다:
docker --version
도커 버전이 출력되면, 설치가 완료된 것입니다.
도커를 사용하여 간단한 MySQL 데이터베이스를 실행해보겠습니다.
먼저, 도커 허브에서 MySQL 이미지를 다운로드(pull)합니다.
docker pull mysql:latest
MySQL 컨테이너를 실행합니다.
여기서 my-mysql은 컨테이너의 이름이고, my-secret-pw는 MySQL 루트 사용자 비밀번호입니다.
docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql:latest
위 명령어는 MySQL 컨테이너를 my-mysql이라는 이름으로 백그라운드에서 실행하고, 호스트의 3306 포트를 컨테이너의 3306 포트에 매핑합니다.
실행 중인 컨테이너를 확인하려면 다음 명령어를 사용합니다:
docker ps
터미널을 통해 MySQL 컨테이너에 접속하려면 다음 명령어를 사용합니다:
docker exec -it my-mysql mysql -uroot -p
my-secret-pw
를 입력하여 MySQL에 접속할 수 있습니다.
실행 중인 컨테이너를 중지하려면 다음 명령어를 사용합니다:
docker stop my-mysql
중지된 컨테이너를 제거하려면 다음 명령어를 사용합니다:
docker rm my-mysql
$ cd {본인의 경로}/hackathon2-CodeArena-docker
$ docker compose -f docker-compose.yaml up
#도커 컨테이너가 종료된 상태일 경우
$ docker start code-arena-mysql
#도커 실행 후 mysql 터미널 접속
$ docker exec -it code-arena-mysql sh
# docker container 안의 작업입니다.
$ mysql -u root -p
# 비밀번호 입력
$ source /var/lib/mysql-files/init_db.sql
# schema 초기화 확인
$ show tabels;