Docker를 이용하여 테스트 DB 환경 구축기 (Mariadb, Oracle, Db2 등..)
안녕하세요. YeopBox의 상큼한놈 입니다.
이번에는 간단하게 Docker를 이용하여 여러 종류의 DB에 대한 테스트 환경을 구축해보려고 합니다.
이번 글은 간단한 Docker에 대한 사전 지식이 필요하며 비슷한 방법으로 다른 종류의 DB 또한 이용 가능할 겁니다.
해당 커맨드를 이용하기 위해서는 Docker가 사전 설치되어 있어야 합니다.
Docker를 이용하여 테스트 DB 환경 구축하기
먼저, 하단 목록에서 원하는 DB를 찾아 터미널에서 커맨드로 입력해 줍니다.
목록에 없는 경우 docker search 커맨드를 통하여 직접 검색하여 이용하실 수도 있습니다.
포트의 경우 제가 임의로 설정한 값으로 기본 설정되어 있으며, -p 옵션에 외부포트:내부포트 형식으로 필요한 값을 맞춰서 변경하여 이용해주세요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// MSSQL 2019 (램 4GB 이상 환경이 필수) docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=password" -e "TZ=Asia/Seoul" -e LC_ALL=C.UTF-8 -p 1433:1433 --name mssql -d mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04 // MYSQL 5.7 docker run --name mysql-db-5.7 -p 3317:3306 -e "TZ=Asia/Seoul" -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7 // ORACLE 11g docker run --name oracle11g -d -e "TZ=Asia/Seoul" -p 1521:1521 jaspeen/oracle-xe-11g // ORACLE 10g docker run --name oracle10g -d -p 49160:22 -p 11521:1521 -p 49162:8080 --mount source=oracle_xe_10g_vol,target=/usr/lib/oracle -e ORACLE_ALLOW_REMOTE=true -e "TZ=Asia/Seoul" --restart=always dragonbest520/oracle-xe-10g // SYBASE docker run -d -e "TZ=Asia/Seoul" -p 8000:5000 -p 8001:5001 --name nguoianphu-sybase nguoianphu/docker-sybase // MARIADB (latest) docker run -d -e "TZ=Asia/Seoul" -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password --name mariadb mariadb // DB2 docker run -itd --name db2 --privileged=true -p 50000:50000 -e "TZ=Asia/Seoul" -e LICENSE=accept -e DB2INST1_PASSWORD=password -e DBNAME=test ibmcom/db2 |
이후 아래 커맨드를 통하여 실행된 컨테이너 리스트를 확인 하실 수 있습니다.
1 2 |
// docker 컨테이너 목록 확인 docker ps |
종료된 컨테이너 까지 확인하시고자 하면 아래 커맨드를 이용하여 확인하실 수 있으며, 종료 후 기동은 해당 컨테이너의 이름을 이용하여 관리하실 수 있습니다.
1 2 3 4 5 6 |
// 종료된 컨테이너 목록을 포함해서 리스트 확인 docker ps -a // 컨테이너 이름을 통하여 컨테이너를 시작 함 docker start mariadb // 컨테이너 이름을 통하여 컨테이너를 종료 함 docker stop mariadb |
vscode를 이용하여 편하게 docker 접근하기
vscode를 이용하여 테스터 서버에 SSH로 접근하면 아래와 같이 해당 서버에 플러그인을 설치하실 수 있습니다.
docker를 관리하기 위해 Portainer를 사용하는 경우도 있지만 저는 vscode가 심플하기에 해당 방법을 이용하여 docker 컨테이너를 관리하고 있습니다.
먼저 플러그인 목록에서 docker를 검색한 후 Microsoft에서 제공하는 확장 프로그램을 설치합니다.
이후 Docker 플러그인 아이콘을 클릭하면 아래와 같이 컨테이너 리스트가 나타납니다.
마우스 우 클릭을 통하여 컨테이너를 끄고 키거나 shell로 접근하실 수 있습니다.
이제 능동적으로 필요할 때만 DB 컨테이너를 끄거나 켤 수 있습니다.
마치며…
이번에는 제가 애용하였던 테스트 DB서버 구축 방법에 대하여 간단하게 포스트하였습니다.
DB2와 같이 설치가 복잡한 경우부터 Mysql 버전 별 테스트와 같이 귀찮은 작업이 엄청 간단해지기에 해당 방법을 강추드립니다.
사이트에 방문해주셔서 감사합니다.