1. 程式人生 > 其它 >docker映象指定安裝源_docker映象安裝oracle

docker映象指定安裝源_docker映象安裝oracle

技術標籤:docker映象指定安裝源

簡介

debian中安裝 docker,並且在 docker環境下使用 oracle

docker安裝

https://docs.docker.com/engine/installation/#desktop

或者去 https://download.docker.com/linux/static/stable網址裡面下載,下載完了解壓到 /usr/bin/下面(或者解壓到其他地方,然後將解壓路徑新增到 `PATH`裡面)即可,在 ~/.zshrc中新增

alias docker="sudo docker" # 不想每次都輸入sudo,也不想切換到root使用者
# alias dockerd="sudo docker" # 在非root下面執行dockerd &可能不會生效

注意

如果你的根目錄所在的分割槽空間不是特別大的話,我並不建議解壓到 /usr/bin/下面。可以解壓到其他位置(docker_path),將 docker_path新增到 PATH:

vi ~/.zshrc
# 或者開啟
# vi ~/.bashrc
# 在~/.zshrc 或者~/.bashrc中新增下面語句
export $DOCKER_PATH="docker_path"
export $PATH=$PATH:$DOCKER_PATH

安裝 啟動oracle

1. 安裝啟動

* 標準版安裝

      dockerd &
      docker pull sath89/oracle-12c  # 12c
      docker pull sath89/oracle-xe-11g # 11g
      docker pull chameleon82/oracle-xe-10g # 10g
      docker run -h "oracle12c" --name "oracle12c" -d -p 49160:22 -p 49161:1521 -p 49162:8080 
      sath89/oracle-12c
      docker run -h "oracle11g" --name "oracle11g" -d -p 49163:22 -p 49164:1521 -p 49165:8080 
      sath89/oracle-xe-11g
      docker run -h "oracle10g" --name "oracle10g" -d -p 49166:22 -p 49167:1521 -p 49168:8080 
      chameleon82/oracle-xe-10g

* 企業版安裝

下載企業版oracle,克隆專案[oracle/docker-images ](oracle/docker-images) 到本地,將oracle拷貝到在 OracleDatabase/dockerfiles/<version>下面,執行

     sudo ./buildDockerImage.sh -v 12.2.0.1 -e
     docker run -h "oracle12c-ee" --name "oracle12c-ee" -d -p 49170:22 -p 49171:1521 
     -p 49172:5500 -p 49173:8080 -e ORACLE_SID=orcl -e ORACLE_PDB=pdb -e ORACLE_PWD=zeekling 
     oracle/database:12.2.0.1-ee

* 重新開啟oracle容器

        docker restart oracle12c

* tipdocker run是new 一個新的容器出來,名字是不能重複的

2. 檢視oracle啟動日誌

 docker logs -f oracle12c

3. 進入映象的bash

 docker exec -it oracle12c /bin/bash

預設登進去是 root使用者,oracle安裝在 oracle使用者下面,所以進去是要切換使用者的;切換使用者時,預設不需要密碼。

4. 檢視docker容器ip

 docker inspect oracle12c  | grep IPAddress

5. 連線資料庫

切換到oracle使用者,在~/.bashrc裡面新增

export ORACLE_HOME=/u01/app/oracle/product/12.1.0/xe
export PATH=$PATH:$ORACLE_HOME/bin
export $ORACLE_SID=xe

這樣就不用切換到 oraclebin目錄下面執行 sqlplus / as sysdba

6. 圖形化介面安裝和啟動

root使用者下執行

curl -s deploy - shipyard project | bash -s

在瀏覽器中開啟[http://127.0.0.1:8080](http://127.0.0.1:8080),輸入使用者名稱/密碼:admin/shipyard

再次啟動 docker 時,圖形介面會隨著容器啟動,不用用命令啟動

可以將 https://shipyard-project.com/deploy中的指令碼儲存下來,下次安裝的時候使用

curl deploy - shipyard project > /usr/bin/dockerdeploy
# 下次執行下面語句
dockerd &
su root
dockerdeploy

7. 安裝oracle客戶端

在[Free tools and libraries for connecting to Oracle Database ](http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html)

下載oracle客戶端,建議下載rpm包,在debian系列linux上可以轉成deb包,下載下面幾個包就行了

-rw-r--r-- 1 root root  42M Dec 14 22:22 oracle-instantclient12.2-basic_12.2.0.1.0-2_amd64.deb
-rw-r--r-- 1 root root 551K Dec 14 22:22 oracle-instantclient12.2-devel_12.2.0.1.0-2_amd64.deb
-rw-r--r-- 1 root root 1.5M Dec 14 22:22 oracle-instantclient12.2-jdbc_12.2.0.1.0-2_amd64.deb
-rw-r--r-- 1 root root 633K Dec 14 22:23 oracle-instantclient12.2-sqlplus_12.2.0.1.0-2_amd64.deb
-rw-r--r-- 1 root root 795K Dec 14 23:17 oracle-instantclient12.2-tools_12.2.0.1.0-2_amd64.deb

安裝完了之後在 ~/.zshrc或者 ~/.bashrc或者 /etc/profile(第三個需要重啟電腦)中新增

# oracle
export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME
export PATH=$ORACLE_HOME/bin:$PATH

/usr/lib/oracle/12.2/client64/下新建檔案 tnsnames.ora新增

xe=
  (DESCRIPTION =
   (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 49161))
   )
   (CONNECT_DATA =
      (SERVICE_NAME = xe)
   )
  )

然後在終端中輸入(需要新鍵使用者等操作)

sqlplus eoda/[email protected]

就可以了

標 題:《docker映象安裝oracle》

作 者:zeekling

提 示:轉載請註明文章轉載自個人部落格

小令童鞋​www.zeekling.cn 4d5e95d3822307176031a13ba7bf8f03.png