如需使用另一个容器里的mysql,需要参数 —link mysql1:mysql,其中mysql1是mysql容器的名称
方法一: 用maven插件部署
查找tomcat镜像
docker search tomcat
新建tomcat-users.xml
vim tomcat-users.xml
<tomcat-users>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
</tomcat-users>
新建Dockerfile
vim Dockerfile
FROM tomcat:8-jre8
MAINTAINER "baocheng.chen <xxxxxx@xxxxxxxx.xxx>"
ADD tomcat-users.xml /usr/local/tomcat/conf/
构建新的镜像
docker build -t tomcat8-java8-cbc:demo .
创建容器
docker run -it --rm -p 8090:8080 --link mysql1:mysql tomcat8-java8:demo
修改pom文件
vim pom.xml
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://192.168.1.100:8090/manager/text</url>
<server>TomcatServer</server>
<path>/</path>
<username>tomcat</username>
<password>tomcat</password>
</configuration>
</plugin>
</plugins>
</build>
执行部署
mvn tomcat7:deploy
如果使用 Intellij Idea 直接在右侧Plugins里双击deploy就可以了。
这种方法缺点是每次重启容器后需要重新deploy。
方法二:向容器volume里复制war包
启动容器
docker run -it --rm -p 8091:8080 --link mysql1:mysql -v /ROOT/www/www.ibm.com:/usr/local/tomcat/webapps tomcat:8-jre8
复制war包
scp ROOT.war root@宿主机IP:/ROOT/www/www.demo.com/
缺点需要手动发包,优点是重启容器后,不需要重新deploy