docker部署war包到阿里雲

2022-02-17 05:09:48 字數 1512 閱讀 5751

最近買了個阿里雲伺服器,配置1核2g記憶體,學習夠了。記錄下過程。

1,伺服器相關,請看下圖,雲伺服器主要配置是安全組和金鑰,前者是開放埠,後者可以用於遠端連線(比如我windows系統通過putty遠端連線linux主機)

2,伺服器安裝docker,pull tomcat和mysql映象(如docker pull tomcat)

3,建立自定義網路,用於容器間的通訊,命令如下:

docker network create --subnet 192.168.49.0/24 --gateway 192.168.49.1 network0
以上建立了乙個新的網路network0,可以通過docker network ls檢視原始的網路和建立的網路

4,使用mysql映象建立並啟動容器,命令如下:

docker run -d -p 3366:3306 --name mysql --net network0 --ip 192.168.49.10 -e mysql_root_password=root -e mysql_database=blog hub.c.163.com/library/mysql
以上,-d表示後台執行,-p 3366:3306表示將容器的3306埠對映到伺服器的3366埠(如果不與外界進行資料傳輸,感覺沒必要),--name 後面是容器的名字,--net 指定容器使用的網路,--ip 指定容器所屬ip,-e 設定環境變數,此處設定了mysql的密碼和建立了乙個資料庫blog(不是必要),最後一串東西是mysql映象的名字(此處無tag)

5,mysql容器啟動後,如果要在mysql裡設定資料庫和表,需要先進入容器,命令為:

docker exec -it mysql /bin/bash
表示進入mysql容器並使用bash命令模式,然後可以正常操作如mysql -uroot -p回車輸入剛才指定的密碼,建立資料庫和表。其實最好通過dockerfile檔案來實現,直接進入容器操作屬於黑箱操作,因為這個操作對於別人來說是不可知的,自己可能都會忘,而dockerfile必定是記錄了映象是如何構建的。我現在還不熟悉dockerfile。而且應該使用dockerfile代替commit建立映象,總之dockerfile才是正道。。。

6,使用tomcat映象啟動容器,命令如下:

docker run -d -p 8080:8080 --name tomcat --net network0 --ip 192.168.49.11 hub.c.163.com/library/tomcat
以上跟mysql容器的建立差不多,要注意的是需要通訊的容器間其ip要處於同一網段,也就是ip前3個數字相同。

7,複製war包到tomcat容器內,命令如下:

war包中mysql的配置:url裡的ip為mysql容器建立時指定的ip,資料庫和表對應容器中建立的資料庫和表。

第7步之後訪問**可能不會立即響應,請耐心等待若干分鐘後再試,專案部署對於伺服器可能需要點時間。

war 包部署到docker 的tomcat容器中

拉取tomcat映象docker pull docker.io tomcat 8081 服務訪問埠,8080 容器內部埠 docker run p 8081 8080 docker.io tomcat 檢視執行容器 wjx wjx tm1703 myfile docker ps container ...

war 包部署到docker 的tomcat容器中

拉取tomcat映象 docker pull docker.io tomcat 8081 服務訪問埠,8080 容器內部埠 docker run p 8081 8080 docker.io tomcat 檢視執行容器 wjx wjx tm1703 myfile docker ps container...

部署war包到Tomcat

1.開發給到乙個war包,假設叫 a b c.war。4.啟動tomcat。如果不需要更改配置檔案 到這一步就可以了。在瀏覽器輸入 http localhost tomcat port a b c即可開啟a b c專案的 index.jsp頁面。當然如果a b c專案沒有index.jsp頁面,那就...