Docker系列之應用

docker安裝tomcat和mysql

docker安裝tomcat

  1. 下載tomcat
docker pull tomcat

默認下載官方最新版本鏡像
2. 運行容器

docker run -p 8080:8080 -d --name tomcat tomcat
  1. 訪問tomcat
    在這裏插入圖片描述
    此時查看容器是已經成功啓動,但是卻訪問不了。
    在這裏插入圖片描述
    進入容器內部進一步查找原因
    在這裏插入圖片描述
    看到tomcat默認部署應用的目錄 webapps 裏面爲空,難怪訪問不了,但是有個類似的目錄webapps.dist,
    在這裏插入圖片描述
    我們看到原本在webapps目錄下面的文件現在都在webapps.dist目錄下面
    在這裏插入圖片描述
    ps:爲了tomcat能正常訪問,可以選擇在容器裏面將webapps.dist目錄下的內容複製到webapps裏面或掛載本地數據卷的方式到weapps目錄下還可以根據官方tomcat鏡像製作一個能直接訪問的tomcat鏡像。
    這裏採用掛載宿主機目錄的方式。
方式一	 直接修改容器內tomcat文件
 	進入容器	-- docker exec -it tomcat bash
 	複製webapps.dist裏面文件到webapps目錄下 -- cp -r webapps.dist/* webapps/
 	重啓tomcat容器 -- docker restart tomcat

在這裏插入圖片描述

方式二		將宿主機文件掛載到容器相應目錄
// 我們先在本地創建一個 tomcat 目錄
mkdir /usr/local/tomcat
// 將容器內 webapps.dist的內容複製到宿主機

// 我們先在本地創建一個 tomcat 目錄
mkdir /usr/local/tomcat
// 將容器內 webapps.dist的內容(只複製ROOT目錄就行了,僅僅測試而已)複製到宿主機指定目錄
docker cp tomcat:/usr/local/tomcat/webapps.dist/ROOT .
// 以掛載的形式啓動tomcat
docker run -p 8080:8080 -d --name tomcat -v /usr/local/tomcat:/usr/local/tomcat/webapps tomcat

在這裏插入圖片描述

docker安裝mysql

  • 由於mysql數據庫作爲數據存儲媒介,勢必會產生數據寫入,所以一般來講是需要將mysql容器內部的動態數據通過掛載的方式映射到宿主機指定的目錄,實現持久化
    1.下載mysql鏡像
docker pull mysql

2.啓動mysql容器

docker run -p 3306:3306 -d --name mysql -e MYSQL_ROOT_PASSWORD=root -v 宿主機數據目錄:/var/lib/mysql mysql

注意:mysql8修改了加密規則,如果客戶端使用Navicat連接,會出現加密算法報錯的問題,啓動mysql容器後進入容器使用mysql命令行執行以下命令即可。

alter user 'root'@'%' identified with mysql_native_password by '密碼';
flush privileges;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章