實(shí)驗(yàn)?zāi)康模簑eb容器能訪問部署在另外容器中的MySQL
步驟1:拉取mysql鏡像,拉取命令如下:
docker pull mysql
步驟2:拉取tomcat鏡像,拉取命令如下:
docker pull tomcat
步驟3:創(chuàng)建mysql的一個(gè)容器,容器的名字是db001,創(chuàng)建命令如下:
docker run --name db001 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
其中:
1)db001是自定義的mysql容器的別名
2)MYSQL_ROOT_PASSWORD=123456 是mysql數(shù)據(jù)root用戶的密碼
4)mysql是mysql的鏡像名稱
步驟4:啟動(dòng)tomcat容器,并與mysql建立連接,tomcat鏡像的名字是myweb,創(chuàng)建命令如下:
docker run -it -p 8080:8080 --link db001:dbhost -d tomcat
其中:
1)db001是步驟3中創(chuàng)建的mysql容器的名字,可以通過其訪問數(shù)據(jù)庫;
2)dbhost是個(gè)別名,web程序訪問mysq數(shù)據(jù)可以通過其訪問;
例如:
jdbc_url=jdbc:mysql://dbhost:3306/dbName?useUnicode=true&characterEncoding=utf8
附:
將自己的web項(xiàng)目部署到tomcat容器方法:
將打包后的war項(xiàng)目推送到宿主機(jī)器,然后使用如下命令拷貝到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
以上兩種方式建議在測試環(huán)境使用,畢竟要經(jīng)常修改代碼 ,下面方式可以放到生產(chǎn)上使用。也是官網(wǎng)建議的方式:
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 .