Docker安裝websphere(四)

在Docker容器裏安裝webshperenode

 

<!--前提:已經安裝好了docker,可以正常使用。-->linux

(1)docker安裝websphere(須要帳號和密碼登陸,不掛載數據卷)web

  1.   獲取鏡像:  docker pull  ibmcom/websphere-traditional:8.5.5.12-profile   
    docker pull  #是將鏡像拉取下來的命令,後面跟的是鏡像名以及鏡像版本信息
    ibmcom/websphere-traditional #websphere的鏡像名
    8.5.5.12-profile #鏡像的版本,也就是websphere的版本

     

  2. 使用鏡像生成容器而且啓動容器: 

    docker run --name websphere \docker

           -h websphere \瀏覽器

           -e UPDATE_HOSTNAME=true \bash

           -p 9043:9043 \ui

           -p 9443:9443 \spa

           --restart=always \rest

           -d ibmcom/websphere-traditional:8.5.5.12-profile日誌

    docker run   #啓動容器的命令,後面跟各類參數 + 容器鏡像信息
    --name websphere #指定啓動的容器名爲 websphere
    -e UPDATE_HOSTNAME=true #訪問websphere的ip不是localhost時須要此參數
    -p 9043:9043 #指定訪問端口號
    -d ibmcom/websphere-traditional:8.5.5.12-profile #後臺運行該鏡像生成的容器

     

  3. 查看生成登陸的密碼: docker exec websphere cat /tmp/PASSWORD
    docker exec   #進入容器內部,訪問容器
    websphere #指定的容器名
    cat /tmp/PASSWORD #輸出容器內 /tmp/PASSWORD 文件中的內容 ,這條命令輸出的內容就是用於登陸的密碼。

     

  4. 經過瀏覽器訪問websphere:    https://172.150.13.40:9043/ibm/console/login.do?action=secure           
    172.150.13.40    #當前虛擬機的ip地址(每一個人的都不同)
    9043 #設定訪問websphere的端口號

     

  5. 前面的步驟沒出錯,會進入以下登陸頁面
     
      

     

  6. 登陸的帳號和密碼(登陸的帳號都是同樣的,都是 wsadmin)

    帳號 :    wsadmin
    密碼 : 1+aIMDow (就是前面使用 docker exec websphere cat /tmp/PASSWORD 命令輸出的內容,每一個人的都不同)

     

     登陸成功後,進入websphere主頁面。

 

若是忘記了websphere的密碼,可使用docker exec websphere cat /tmp/PASSWORD 命令來查看登陸該容器的密碼,帳號都統一爲 wsadmin。 (websphere爲容器名

若是容器啓動不正常,可使用 docker logs -f websphere 命令來查看容器啓動的日誌信息,肯定錯誤緣由。websphere爲容器名)

注意:websphere啓動須要的時間會比較長,因此須要參考日誌的輸出來判斷容器是否已經啓動,不能立馬訪問,立馬訪問是不會有結果的。

 

(2)docker安裝websphere(無需帳號和密碼登陸,而且掛載數據捲到linux主機,映射到容器使用)    

  1.   獲取鏡像:  docker pull  ibmcom/websphere-traditional:8.5.5.12-profile   
    docker pull  #是將鏡像拉取下來的命令,後面跟的是鏡像名以及鏡像版本信息
    ibmcom/websphere-traditional #websphere的鏡像名
    8.5.5.12-profile #鏡像的版本,也就是websphere的版本

     

  2. 使用鏡像生成容器而且啓動容器: 

    docker run --name websphere \

           -h websphere \

           -e UPDATE_HOSTNAME=true \

           -p 9043:9043 \

           -p 9443:9443 \

           --restart=always \

           -d ibmcom/websphere-traditional:8.5.5.12-profile

    docker run   #啓動容器的命令,後面跟各類參數 + 容器鏡像信息
    --name websphere   #指定啓動的容器名爲 websphere
    -e UPDATE_HOSTNAME=true #訪問websphere的ip不是localhost時須要此參數
    -p 9043:9043 #指定訪問端口號
    -d ibmcom/websphere-traditional:8.5.5.12-profile #後臺運行該鏡像生成的容器

 

 

    3.使用docker cp命令,將容器內的../DefaultCell01目錄複製到linux主機上,用於映射。

    docker cp 8890fds8765f:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/DefaultCell01 /root/docker/websphere/data

    將websphere容器中的 DefaultCell01目錄複製到 linux主機 /root/docker/websphere/data目錄下。

    注意:這裏對目錄權限是有限制的,要將f複製到 linux主機 /root/docker/websphere/data目錄下的DefaultCell01目錄的UID改成與容器中的DefaultCell01目錄權限UID相同。

    使用命令 :  ls -l    # 查看目錄所屬者

    使用命令: id 用戶名  #查看用戶的詳細信息,好比 uid  gid 等等

    3.1  先進入websphere容器,查看DefaultCell01目錄的所屬者的uid。命令以下:

      docker exec -it websphere bash       #進入容器

      cd  /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/DefaultCell01  #進入容器內的DefaultCell01目錄

      ls  -l    #查看DefaultCell01目錄下的全部文件的詳細信息,會得知所屬用戶爲 was

      id was  #查看用戶was的詳細信息,會得知was的uid爲1000

      exit #退出容器,回到linux頁面

    3.2  進入linux的DefaultCell01目錄下,更改用戶的uid爲1000

      cd /root/docker/websphere/data   #進入接收復制內容DefaultCell01文件的上一層目錄

      chown -R 1000:1000 DefaultCell01  #使用遞歸將DefaultCell01文件夾下的全部文件以及子文件的所屬者的uid都更改成1000

      cd DefaultCell01    #再進入DefaultCell01目錄

      chown -R 1000:1000 nodes   #使用遞歸將nodes文件夾下的全部文件以及子文件的所屬者的uid都更改成1000

    

    4.中止啓動的websphere容器,使用以下命令:

    docker stop websphere

 

    5.刪除中止的websphere容器,使用以下命令:

    docker rm websphere

       

    6.再次啓動容器,這時候須要添加-v參數來映射數據卷

    docker run --name websphere-admin \

          -p 9043:9043 \

          -p 9443:9443 \

          -h websphere-admin \

      -e UPDATE_HOSTNAME=true \

          -v /root/docker/websphere/data/DefaultCell01:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/DefaultCell01 \

          --restart=always \

          -d ibmcom/websphere-traditional:8.5.5.12-profile

 

    注: 使用數據卷掛載目錄時, -v  /本機上的目錄:/容器內容的目錄

    例如:  -v /root/docker/webpshere/data/DefaultCell01:/opt/IBM/WebSphere/DefaultCell01

    意思是將本機的 /root/docker/webpshere/DefaultCell01文件中的內容掛載到容器內/opt/IBM/WebSphere/DefaultCell01目錄下,若是指定的本機目錄爲空,則容器內指定的目錄也會爲空,因此須要向拷貝一份數據到本機指定被掛載的目錄下。

    也能夠理解爲將本機指定目錄下的內容映射到容器內,供容器使用。

 

    7.將linux主機上 /root/docker/webpshere/data/DefaultCell01目錄下的security.xml文件中的第二行,enabled的值設置爲false.

    用戶訪問websphere時就不用再輸入密碼了。

    使用 docker restart websphere 命令 ,從新啓動websphere。

    直接使用連接:  https://172.150.12.32:9043/admin  ,隨便輸入一個用戶名即可以訪問。

 

不須要密碼訪問的第二種方式,能夠在用戶使用帳戶和密碼登陸websphere之後,

選擇 Security  -->  Global Sercurity  將 Administrative security取消選中,而後再重啓websphere就能夠了。

依舊使用 https://172.150.12.32:9043/admin 訪問。

相關文章
相關標籤/搜索