docker使用tomcat部署web項目

今天閒下來想起本身寫的web項目部署上去玩下,以前有弄過docker,很久沒弄忘記不少,因此弄了一次以後決定寫下來,之後不記得能夠翻下嘻嘻嘻。css

1. 首先是去官網把docker下載下來安裝。html

https://docs.docker.com/docker-for-windows/install/
複製代碼

2. 運行docker,拉取須要的tomcat鏡像nginx

docker pull tomcat:版本號 複製代碼

若是沒有指定的版本,默認拉取最新版本的
web

3. 可驗證拉取是否成功docker

docker run -p 8888:8080 tomcat
複製代碼

-p映射端口 接着的是端口號 自選的端口:docker容器端口windows

最後在瀏覽器打開localhost:8888 便可看到tomcat頁面瀏覽器

4. 部署web應用tomcat

我部署的方式是直接掛載我主機上的應用目錄bash

docker run --privileged=true -v 映射文件夾地址:/usr/local/tomcat/webapps -d -p 8888:8080 --name tomcat_demo tomcat 
複製代碼

--privileged=true 給docker掛載的權限
--name 生成的容器名字
-d 後臺運行 
-v 文件路徑 前面的是你本機要映射文件路徑 後面是tomcat目錄【默認的】複製代碼

到這裏咱們的項目已經掛載上去了,咱們能夠經過一些命名查看本身的項目app

docker ps  
// 查看docker正在運行的容器 PORTS能夠看到正在運行的項目端口號 訪問lcoalhost:8383便可
複製代碼


5. 一些問題

在開始設置映射地址我寫的tomcat目錄是 /usr/local/tomcat/webapps/demo

這樣致使的問題是請求地址時候要在後面加上demo, lcoalhost:8383/demo這樣請求,可是請求到的頁面是一片空白,個人css,js,html文件都沒有加載進來,查看文件路徑發現他們是沒有demo路徑的,因此要匹配好文件路徑

由於個人文件夾名是jxhr,因此我打包好的web項目裏面的js等靜態文件路徑是沒問題的,因此我改變了映射tomcat目錄,把demo去掉就沒有問題了,直接 localhost:8383/jxhr 就能夠訪問到個人web項目。

6. 一些命令

我在訪問路徑的時候頁面空白,我進去了我固然容器的目錄中觀看過是否請求問題,因此用到一些命令行,能夠幫助你更快使用docker部署項目

docker exec -it 容器名稱 /bin/bash   // 查看容器目錄複製代碼

能夠看到咱們進入到tomcat目錄了

cd webapps // 進入項目中查看複製代碼

ls // 查看webapps 裏面的文件複製代碼

能夠清晰看到裏面的目錄,幫助你更快找到本身路徑問題。

docker images // 查看docker中所有的容器複製代碼


docker ps // 查看已經啓動的所有u容器複製代碼


docker stop 61c08f8d9699 // 中止正在運行的容器, CONTAINER ID:61c08f8d9699,也能夠是容器名稱複製代碼

docker rm 61c08f8d9699  // 刪除容器複製代碼

nginx部署其實也是差很少,下一次再繼續記錄。

相關文章
相關標籤/搜索