Docker之Tomcat容器連接mysql容器


步驟1:拉取mysql鏡像,拉取命令如下:(拉取MySQL鏡像時最好指定一個常用版本,不加版本號默認拉取 latest 版本,一般生產環境以求穩為主)

docker pull mysql:5.7

步驟2:拉取tomcat鏡像,拉取命令如下:

docker pull tomcat

步驟3:創建mysql的一個容器,容器的名字是db001,創建命令如下:

docker run --name db001 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

其中:
1)db001是自定義的mysql容器的別名
2)MYSQL_ROOT_PASSWORD=123456 是mysql數據root用戶的密碼
3)mysql是mysql的鏡像名稱,,5.7是版本號

步驟4:啟動tomcat容器,並與mysql建立連接,tomcat鏡像的名字是myweb,創建命令如下:

docker run -it -p 8080:8080 --link db001:dbhost -d tomcat

其中:
1)db001是步驟3中創建的mysql容器的名字,可以通過其訪問數據庫;
2)dbhost是個別名,web程序訪問mysq數據可以通過其訪問;

3)此時,在容器內部,會在/etc/hosts文件中用別名創建幾個條目,如下:

 

 

說明連接成功。

 數據庫連接池配置:

附:

將自己的web項目部署到tomcat容器方法:
將打包后的war項目推送到宿主機器,然后使用如下命令拷貝到tomcat容器中的webapps目錄下:

docker cp myweb.war {web容器id}:/usr/local/tomcat/webapps/

或者直接以掛載的方式讓tomcat容器直接獲取本地war文件:

docker run -d -v /usr/docker_file/Demo.war:/usr/local/tomcat/webapps/Demo.war -p 8080:8080 tomcat

以上兩種方式建議在測試環境使用,畢竟要經常修改代碼 ,下面方式可以放到生產上使用。也是官網建議的方式

vi Dockerfile

from tomcat:latest    #你的 tomcat的鏡像
MAINTAINER XXX@qq.com    #作者       (這一步可以不要,在新版本中已經是一個廢棄的字段)
COPY NginxDemo.war   /usr/local/tomcat/webapps  #放置到tomcat的webapps目錄下

然后生成新的鏡像:

docker build -t web-demo:v1 .

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM