프로그램 개발 도중 DB가 필요하는 경우가 종종 있다
회사 내부 서버에 DB가 있다면 사용하면 되지만 없으면 설치하여 사용해야 한다
하지만 DB설치가 시간도 오래 걸리고 설정하는 것도 많다
이런 거 수고를 줄이기 위해 Docker를 이용하여 Oracle를 사용하기로 하였다
설치환경
*데스크톱 : WIN10
*VMware 가상 머신 OS : CentOS 7
*DB : Oracle 11g
설치 순서
1. VMware의 CentOS 7에 Docker설치
2. Docker 이미지 다운로드 및 실행 (Pull & Run)
3. DB 사용자 생성 및 접속
4. Docker 기차 명령어
1. VMware의 CentOS 7에 Docker설치
1) root 로그인
2) 패키지 업데이트
3) Docker & Docker Registry 설치
4) Docker 서비스 등록
5) Docker 실행
6) Docker 실행 확인
1) root 로그인
#su
우선 Docker를 설치하기 위해서 패키지 업데이트가 필요하다
패키지 업데이트는 Root 유저만 할 수 있다
2) 패키지 업데이트
# yum -y update
3) Docker & Docker Registry 설치
# yum -y install docker docker-registry
4) Docker 서비스 등록
# systemctl enable docker.service
5) Docker 실행
# systemctl start docker.service
6) Docker 실행 확인
# docker -v
2. Docker 이미지 다운로드 및 실행 (Pull & Run)
1) Oracle 이미지 다운로드
2) Oracle 이미지 실행
3) 컨테이너 접속
1) Oracle 이미지 다운로드
Docker 이미지를 다운로드하기 위해서는 Docker Hub에 접속해서 검색하면 된다
Docker Hub URL : https://hub.docker.com/
Docker Hub에서 마음에 드는 이미지를 찾았다면 Pull 하면 된다 (이미지 다운로드하는 것을 Docker에서는 Pull이라 부른다)
docker pull <업로드한 사용자/이미지 이름>:<태그>
# docker pull brunodias20/centos-oracle11g
다운로드 한 이미지 확인
# docker images
2) Oracle 이미지 실행
docker run <옵션> <이미지 이름> <실행할 파일>
# docker run -p 1521:1521 brunodias20/centos-oracle11g
-p : port포워딩 <컨테이너 포트> : <호스트 포트>
ex) docker run -p 1521:9999 brunodias20/centos-oracle11g
9999 포트로 호출하게 되면 Docker 이미지 안에 있는 Oracle은 1521 포트로 접속하게 된다
DB를 설치할 때 1521 포트를 다른 포트로 변경할 수 있지만, Docker는 이미 설치가 완료 된 상태 이므로
port 포워딩 옵션을 통해 DB의 포트를 변경 할 수 있다
이미지 실행 확인 확인
# docker ps
3) 컨테이너 접속
Docker 이미지는 OS+Oracle로 이루어져 있다
이미지 안에 있는 OS에 접속해야 DB가 설치되어 있는 서버에 접속하는 것과 같은 의미이다
그러기 위해서는 실행된 이미지에 접속해야 한다
실행된 이미지에 접속하기 위해서는 'CONTAINER ID'를 알아야 한다
'CONTAINER ID'는 docker ps 명령어로 알 수 있다
# docker exec -it e71fa7f4c629 bin/bash
3. DB 사용자 생성 및 접속
1) sqlplus 로그인
2) sys계정 비밀번호 초기화 (pw : oracle)
3) 유저 생성
4) 유저 권한 부여
5) DB 접속 확인
여기서는 DB 사용자를 생성하고 넘어가기만 한다
DB 사용자를 생성하는 방법의 자세한 방법은 아래 글을 참조 바란다
https://duruwawa.tistory.com/26?category=715452
[Oracel]User 생성 및 권한 부여
프로그램 개발을 하다 보면 DB를 사용해야 할 경우가 생긴다 그럴 때마다 DB 설치는 "NEXT"만 눌러 설치를 잘한다 하지만, DB 사용자를 생성하는 방법은 자꾸 잊어 버리게 되서 구글에서 검색을 자�
duruwawa.tistory.com
1) sqlplus 로그인
'CONTAINER ID'로 접속하게 되면 sys로 로그인해서 유저를 생성해주면 된다
하지만 이미지를 만든 사람이 sys계정의 패스워드를 어떤 걸로 했는지 알 수가 없을 때가 있다
이럴 때는 sys의 계정 패스워드를 변경하면 된다.
SQL> sqlplus /nolog
2) sys계정 비밀번호 초기화 (pw : oracle)
SQL> conn sys/oracle as sysdba;
3) 유저 생성( polarion_user / polarion_user )
SQL> CREATE USER polarion_user IDENTIFIED BY polarion_user DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;
4) 유저 권한 부여
SQL> GRANT CONNECT, DBA, RESOURCE TO polarion_user;
5) DB 접속 확인
유저까지 생성이 완료되었으면 이제 DB 클라이언트 프로그램으로 접속하면 된다
우선 Oracle 이미지로 접속하여 IP주소를 알아낸다
# ifconfig
SQL developer프로그램을 이용하여 DB에 접속한다
DB에 접속된 것을 확인할 수 있다
4. Docker 기타 명령어
1) 컨테이너 정지
2) 컨테이너 시작
3) 컨테이너 삭제
4) 이미지 삭제
1) 컨테이너 정지
docker stop [컨테이너 ID]
# docker stop e71fa7f4c629
2) 컨테이너 시작
docker start [컨테이너 ID]
# docker start e71fa7f4c629
3) 컨테이너 삭제
docker rm -f [컨테이너 ID]
docker rm -f e71fa7f4c629
4) 이미지 삭제
docker rmi [이미지 ID]
docker rmi e71fa7f4c629
*정리*
1. VMware의 CentOS 7에 Docker설치
# yum -y update
# yum -y install docker docker-registry
# systemctl enable docker.service
# systemctl start docker.service
# docker -v
2. Docker 이미지 다운로드 및 실행 (Pull & Run)
# docker pull brunodias20/centos-oracle11g
# docker images
# docker run -p 1521:1521 brunodias20/centos-oracle11g
# docker ps
# docker exec -it e71fa7f4c629 bin/bash
3. DB 사용자 생성 및 접속
SQL> sqlplus /nolog
SQL> conn sys/oracle as sysdba;
SQL> CREATE USER polarion_user IDENTIFIED BY polarion_user DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;
SQL> GRANT CONNECT, DBA, RESOURCE TO polarion_user;
# ifconfig
SQL developer 실행
4. Docker 기차 명령어
# docker stop e71fa7f4c629
# docker start e71fa7f4c629
# docker rm -f e71fa7f4c629
# docker rmi 44eb2958095d
'IT > VMware' 카테고리의 다른 글
VMware 이용하여 Centos 7 설치 하기 (0) | 2020.07.03 |
---|---|
[Dell ]SSD HDD 연결된 노트북 WIN10 설치 (0x80300024 에러) (7) | 2020.04.08 |
[VMware][CentOS7]초기 세팅(인터넷 연결, sudo 명령어 사용,java설치 환경변수등록,방화벽 해제) (0) | 2020.04.07 |