今天閒下來想起本身寫的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部署其實也是差很少,下一次再繼續記錄。