2020/08/18

20200818-技術-在Docker升級Disk後的Issue處理-Docker / Oracle

在MIS加完Linux Disk 的空間後,所遇到的一連串事情,來做個記錄。


1. Docker 在運作時,出現 Cannot connect to the docker daemon ……

(參考文:https://is.gd/KcNuGL )

Docker Daemon (Daemon=守護程式) ,下會運作 docker.sock .

  1. 而運作的「Docker Service」它所使用的設定檔於: /usr/lib/systemd/system/docker.service
  2. 調整它的ExecStart 執行的屬性資訊:ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock
  3. 重新讀取: systemctl daemon-reload
  4. 重啟服務: systemctl restart docker.service


2. Docker Container 所給予的IP與網域的一樣,會造成Host會有衝突 …

(參考文:

Docker 使用的設定值為:/etc/docker/daemon.json  (in Linux System)  (Windows Docker 我就不知如何更改了)

而這檔案預設是不存在的,所以都是採Default值。

  1. 先查詢目前的Container IP:
    1. 可透過 container 內的 ifconfig :docker exec -it mycontainer ifconfig  (but …通常container內不會裝ifconfig)
    2. 透過原生指令查:  docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mycontainer
  2. 調整Docker 設定值:daemon.json
    1. /etc/docker/daemon.json   //預設情況此檔案都是不存在的
    2. 加上 { "bip": "192.168.1.1/24" }    //這意指IP範圍為:  192.168.1.1~192.168.1.254
    3. 完整的daemon.json 可看  https://is.gd/YRV4zm
  3. 重啟Docker 服務 :  systemctl restart docker.service


3. 進入Oracle Container後,發現它處理Upgrade的狀態……

(參考文: https://is.gd/K3nhNI – 執行upgrade方式 )

讓Oracle 重啟時,它出現 需要以 Upgrade Mode 運作,而這,就必需讓它執行完 upgrade後,才可以正常執行。

  1. SQL>startup upgrade  , 並執行 Upgrade  (這需要一段時間)
    1. SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql
    2. (我一開始還用Linux mode 執行,會出現權限不足的狀況…..)
  2. 執行後:shutdown , 再執行 startup; 即SQL Develop Tool 就可以正常連線了。


PS:若要換sys 的密碼,指令為:ALTER USER SYS IDENTIFIED BY "yourPWD";


後記:

一件單純的Linux 下Docker 的網路概念,就摸了好一陣子,而後再處理Oracle 重啟的議題。

詳細的資訊都寫到筆記上,但相關 Linux / Docker / Oracle 的 指令Keyword  還是要 好好「背」下來才是。


(THE END)

0 意見 :

張貼留言