행위

"Docker oracle 19c 설치"의 두 판 사이의 차이

DB CAFE

(새 문서: == docker oracle 19c 설치 == === docker 로그인 === <source lang=bash> docker login -u <username> -p <password> </source> === docker image 가져오기 === <source lang=bash> doc...)
 
(도커 내부에 vi 설치)
 
(같은 사용자의 중간 판 10개는 보이지 않습니다)
14번째 줄: 14번째 줄:
 
=== docker run 실행 ===
 
=== docker run 실행 ===
 
* File Sharing 에러 발생시 도커프로그램에서 환경설정 > Resource > File Sharing 에   
 
* File Sharing 에러 발생시 도커프로그램에서 환경설정 > Resource > File Sharing 에   
** /u01/app/oracle/oradata 추가  
+
** /u01/app/oracle/oradata 추가 (추가 할수 없는경우 생략가능. docker run 시 "-v /u01/app/oracle/oradata:/opt/oracle/oradata" 에서 항목 제외)
** /opt/oracle/oradata 추가
+
** /opt/oracle/oradata 추가 (추가할수 없는 경우 생략가능. docker run 시 "-v /u01/app/oracle/oradata:/opt/oracle/oradata" 에서 항목 제외)
 
<source lang=bash>
 
<source lang=bash>
 
docker run -d --name ora19c -p 1521:1521 -e ORACLE_SID=MONGO -e ORACLE_PDB=MONGOPDB -e ORACLE_PWD=Oracle123 -v /u01/app/oracle/oradata:/opt/oracle/oradata banglamon/oracle193db:19.3.0-ee
 
docker run -d --name ora19c -p 1521:1521 -e ORACLE_SID=MONGO -e ORACLE_PDB=MONGOPDB -e ORACLE_PWD=Oracle123 -v /u01/app/oracle/oradata:/opt/oracle/oradata banglamon/oracle193db:19.3.0-ee
 
</source>  
 
</source>  
 
  
 
<source lang=bash>
 
<source lang=bash>
 
-d : deatach mode를 나타내며, -d=true 는 detached mode(background mode), -d=false는 foreground mode 로 수행. -d 옵션만 쓸 경우는 -d=true와 동일
 
-d : deatach mode를 나타내며, -d=true 는 detached mode(background mode), -d=false는 foreground mode 로 수행. -d 옵션만 쓸 경우는 -d=true와 동일
 
 
--name : 컨테이너 이름을 지정
 
--name : 컨테이너 이름을 지정
 
 
-p, --publish : host port를 컨테이너 port로 게시, 앞쪽 port가 host port이고 뒤쪽 port가 컨테이너 port이다.
 
-p, --publish : host port를 컨테이너 port로 게시, 앞쪽 port가 host port이고 뒤쪽 port가 컨테이너 port이다.
 
 
     ( 예, -p 1621:1521 로 설정하면 호스트에 1621 TCP port로 유입되는 모든 traffic은 컨테이너의 1521 port로 전달)
 
     ( 예, -p 1621:1521 로 설정하면 호스트에 1621 TCP port로 유입되는 모든 traffic은 컨테이너의 1521 port로 전달)
 
 
-e :  컨테이너의 환경변수를 설정. -e 옵션을 사용하면 Dockerfile의 ENV 설정도 덮어쓰게 된다.
 
-e :  컨테이너의 환경변수를 설정. -e 옵션을 사용하면 Dockerfile의 ENV 설정도 덮어쓰게 된다.
 
 
     (예, -e ORACLE_SID=MONGO 는 오라클 컨테이너 환경변수 ORACLE_SID를 MONGO로 설정)
 
     (예, -e ORACLE_SID=MONGO 는 오라클 컨테이너 환경변수 ORACLE_SID를 MONGO로 설정)
 
 
-v : 호스트와 컨테이너 간의 볼륨(volumn) 설정을 위해서 사용.
 
-v : 호스트와 컨테이너 간의 볼륨(volumn) 설정을 위해서 사용.
 
 
       호스트(host) 컴퓨터의 파일 시스템의 특정 경로를 컨테이너의 파일 시스템의 특정 경로로 마운트(mount)를 해준다.
 
       호스트(host) 컴퓨터의 파일 시스템의 특정 경로를 컨테이너의 파일 시스템의 특정 경로로 마운트(mount)를 해준다.
 
 
       (Window : -v d:\temp )
 
       (Window : -v d:\temp )
 
 
       (Linux : /u01/app/oracle/oradata )
 
       (Linux : /u01/app/oracle/oradata )
 
 
       (Mac : /u01/app/oracle/oradata 추가 )
 
       (Mac : /u01/app/oracle/oradata 추가 )
 
       윈도우에서 위의 명령어로 수행했는데도 오류가 발생하지는 않는다.
 
       윈도우에서 위의 명령어로 수행했는데도 오류가 발생하지는 않는다.
 
</source>
 
</source>
 +
 +
* 도커 실행시 기존에 실행 실패한 오라클 이미지가 있을경우
 +
<source lang=sql>
 +
# 현재 도커 프로세스 확인 <- docker 컨테이너 이름 확인을 위함.
 +
docker ps -a;
 +
 +
# docker 컨테이너 삭제
 +
docker container rm ora19;
 +
</source>
 +
 +
=== oracle 계정으로 docker db 접속 후 bash 실행 (docker_bash.sh)===
 +
<source lang=bash>
 +
#!/bin/bash
 +
docker exec -it ora19c bash -c "source /home/oracle/.bashrc; /bin/bash"
 +
</source>
 +
 +
=== root 계정으로 docker db 접속 후 bash 실행(docker_root_bash.sh) ===
 +
<source lang=bash>
 +
#!/bin/bash
 +
docker exec -it --user root ora19c bash -c "source /home/oracle/.bashrc; /bin/bash"
 +
</source>
 +
 +
=== 도커 내부에 vi 설치 ===
 +
* docker 명령어를 이용하여 root로 로그인 한 후 yum install vim 하면 설치 완료
 +
<source lang=sql>
 +
docker exec -it --user root ora19c bash -c "yum install vim"
 +
</source>
 +
 +
 +
 +
* 만약 설치 되지 않을경우 vim.xxxx.rpm파일을 직접 다운받은후 docker 내부로 복사해야함.
 +
 +
# 다운로드 (vim-minimal-7.4.629-7.el7.x86_64.rpm)
 +
#:<source lang=bash>wget https://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/vim-minimal-7.4.629-7.el7.x86_64.rpm</source>
 +
# 도커 db 내부로 복사  (docker cp)
 +
#:<source lang=bash>docker cp ./vim-enhanced-7.4.629-7.el7.x86_64.rpm ora19c:/home/oracle</source>
 +
# 도커 db 내부에 root 로 로그인 (docker exec)
 +
#:<source lang=bash>docker exec -it --user root ora19c bash -c "source /home/oracle/.bashrc; /bin/bash"</source>
 +
# vi 설치 (rpm -Uvh)
 +
#:<source lang=bash>rpm -Uvh im-enhanced-7.4.629-7.el7.x86_64.rpm</source>

2024년 7월 11일 (목) 14:47 기준 최신판

thumb_up 추천메뉴 바로가기


1 docker oracle 19c 설치[편집]

1.1 docker 로그인[편집]

docker login -u <username> -p <password>

1.2 docker image 가져오기[편집]

docker pull banglamon/oracle193db:19.3.0-ee

1.3 docker images 확인[편집]

docker images

1.4 docker run 실행[편집]

  • File Sharing 에러 발생시 도커프로그램에서 환경설정 > Resource > File Sharing 에
    • /u01/app/oracle/oradata 추가 (추가 할수 없는경우 생략가능. docker run 시 "-v /u01/app/oracle/oradata:/opt/oracle/oradata" 에서 항목 제외)
    • /opt/oracle/oradata 추가 (추가할수 없는 경우 생략가능. docker run 시 "-v /u01/app/oracle/oradata:/opt/oracle/oradata" 에서 항목 제외)
docker run -d --name ora19c -p 1521:1521 -e ORACLE_SID=MONGO -e ORACLE_PDB=MONGOPDB -e ORACLE_PWD=Oracle123 -v /u01/app/oracle/oradata:/opt/oracle/oradata banglamon/oracle193db:19.3.0-ee
-d : deatach mode를 나타내며, -d=true 는 detached mode(background mode), -d=false는 foreground mode 로 수행. -d 옵션만 쓸 경우는 -d=true와 동일
--name : 컨테이너 이름을 지정
-p, --publish : host port를 컨테이너 port로 게시, 앞쪽 port가 host port이고 뒤쪽 port가 컨테이너 port이다.
     ( 예, -p 1621:1521 로 설정하면 호스트에 1621 TCP port로 유입되는 모든 traffic은 컨테이너의 1521 port로 전달)
-e :  컨테이너의 환경변수를 설정. -e 옵션을 사용하면 Dockerfile의 ENV 설정도 덮어쓰게 된다.
    (예, -e ORACLE_SID=MONGO 는 오라클 컨테이너 환경변수 ORACLE_SID를 MONGO로 설정)
-v : 호스트와 컨테이너 간의 볼륨(volumn) 설정을 위해서 사용.
      호스트(host) 컴퓨터의 파일 시스템의 특정 경로를 컨테이너의 파일 시스템의 특정 경로로 마운트(mount)를 해준다.
      (Window : -v d:\temp )
      (Linux : /u01/app/oracle/oradata )
      (Mac : /u01/app/oracle/oradata 추가 )
      윈도우에서 위의 명령어로 수행했는데도 오류가 발생하지는 않는다.
  • 도커 실행시 기존에 실행 실패한 오라클 이미지가 있을경우
# 현재 도커 프로세스 확인 <- docker 컨테이너 이름 확인을 위함.
docker ps -a; 

# docker 컨테이너 삭제 
docker container rm ora19;

1.5 oracle 계정으로 docker db 접속 후 bash 실행 (docker_bash.sh)[편집]

#!/bin/bash
docker exec -it ora19c bash -c "source /home/oracle/.bashrc; /bin/bash"

1.6 root 계정으로 docker db 접속 후 bash 실행(docker_root_bash.sh)[편집]

#!/bin/bash
docker exec -it --user root ora19c bash -c "source /home/oracle/.bashrc; /bin/bash"

1.7 도커 내부에 vi 설치[편집]

  • docker 명령어를 이용하여 root로 로그인 한 후 yum install vim 하면 설치 완료
docker exec -it --user root ora19c bash -c "yum install vim"


  • 만약 설치 되지 않을경우 vim.xxxx.rpm파일을 직접 다운받은후 docker 내부로 복사해야함.
  1. 다운로드 (vim-minimal-7.4.629-7.el7.x86_64.rpm)
    wget https://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/vim-minimal-7.4.629-7.el7.x86_64.rpm
  2. 도커 db 내부로 복사 (docker cp)
    docker cp ./vim-enhanced-7.4.629-7.el7.x86_64.rpm ora19c:/home/oracle
  3. 도커 db 내부에 root 로 로그인 (docker exec)
    docker exec -it --user root ora19c bash -c "source /home/oracle/.bashrc; /bin/bash"
  4. vi 설치 (rpm -Uvh)
    rpm -Uvh im-enhanced-7.4.629-7.el7.x86_64.rpm