在Docker容器裏安裝webshperenode
<!--前提:已經安裝好了docker,可以正常使用。-->linux
(1)docker安裝websphere(須要帳號和密碼登陸,不掛載數據卷)web
docker pull #是將鏡像拉取下來的命令,後面跟的是鏡像名以及鏡像版本信息
ibmcom/websphere-traditional #websphere的鏡像名
8.5.5.12-profile #鏡像的版本,也就是websphere的版本
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 #後臺運行該鏡像生成的容器
docker exec #進入容器內部,訪問容器
websphere #指定的容器名
cat /tmp/PASSWORD #輸出容器內 /tmp/PASSWORD 文件中的內容 ,這條命令輸出的內容就是用於登陸的密碼。
172.150.13.40 #當前虛擬機的ip地址(每一個人的都不同)
9043 #設定訪問websphere的端口號
登陸的帳號和密碼(登陸的帳號都是同樣的,都是 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主機,映射到容器使用)
docker pull #是將鏡像拉取下來的命令,後面跟的是鏡像名以及鏡像版本信息
ibmcom/websphere-traditional #websphere的鏡像名
8.5.5.12-profile #鏡像的版本,也就是websphere的版本
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 訪問。