一、简单的docker hub自带的tomcat镜像安装
1、先搜索tomcat,找出自己准备使用的tomcat
lin@ubuntu:~$ docker search tomcatNAME DESCRIPTION STARS OFFICIAL AUTOMATEDtomcat Apache Tomcat is an open source implementa... 391 [OK]consol/tomcat-7.0 Tomcat 7.0.57, 8080, "admin/admin" 14 [OK]consol/tomcat-8.0 Tomcat 8.0.15, 8080, "admin/admin" 12 [OK]dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 ba... 10 [OK]consol/tomcat-6.0 Tomcat 6.0.43, 8080, "admin/admin" 6 [OK]consol/tomcat-5.5 Tomcat 5.5.36, 8080, "admin/admin" 4 [OK]
选择自己需要版本的tomcat
可以在docker hub里面看到tomcat支持的版本,我们可以选择一下合适的版本
官网给出的版本如下:
Supported tags and respective Dockerfile links
6.0.44-jre7,6.0-jre7,6-jre7,6.0.44,6.0,6(6-jre7/Dockerfile)6.0.44-jre8,6.0-jre8,6-jre8(6-jre8/Dockerfile)7.0.67-jre7,7.0-jre7,7-jre7,7.0.67,7.0,7(7-jre7/Dockerfile)7.0.67-jre8,7.0-jre8,7-jre8(7-jre8/Dockerfile)8.0.30-jre7,8.0-jre7,8-jre7,jre7,8.0.30,8.0,8,latest(8-jre7/Dockerfile)8.0.30-jre8,8.0-jre8,8-jre8,jre8(8-jre8/Dockerfile)
后面的超链接点击进去是可以看到Dockerfile的
比如7-jre的dockerfile
当然这些dockerfile是官网写好的,不需要咱们自己手动写,只用pull就可以 也就是下一步的安装镜像
FROM java:7-jreENV CATALINA_HOME /usr/local/tomcatENV PATH $CATALINA_HOME/bin:$PATHRUN mkdir -p "$CATALINA_HOME"WORKDIR $CATALINA_HOME# see https://www.apache.org/dist/tomcat/tomcat-8/KEYSRUN gpg --keyserver pool.sks-keyservers.net --recv-keys \05AB33110949707C93A279E3D3EFE6B686867BA6 \07E48665A34DCAFAE522E5E6266191C37C037D42 \47309207D818FFD8DCD3F83F1931D684307A10A5 \541FBE7D8F78B25E055DDEE13C370389288584E7 \61B832AC2F1C5A90F0F9B00A1C506407564C17A3 \713DA88BE50911535FE716F5208B0AB1D63011C7 \79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED \9BA44C2621385CB966EBA586F72C284D731FABEE \A27677289986DB50844682F8ACB77FC2E86E29AC \A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 \DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 \F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE \F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23ENV TOMCAT_MAJOR 7ENV TOMCAT_VERSION 7.0.67ENV TOMCAT_TGZ_URL https://www.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gzRUN set -x \&& curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz \&& curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat.tar.gz.asc \&& gpg --verify tomcat.tar.gz.asc \&& tar -xvf tomcat.tar.gz --strip-components=1 \&& rm bin/*.bat \&& rm tomcat.tar.gz*EXPOSE 8080CMD ["catalina.sh", "run"]
2、选择tomcat版本,安装镜像
lin@ubuntu:~$ docker run -d -p 80:8080 consol/tomcat-7.006523ad3ae22194e08483acc3c3edb3699ea5d1b2296827dce048daf3efdf528
3、访问宿主机80端口 我的宿主机的IP是167
http://192.168.0.167:80
正常访问tomcat证明部署成功~
4、挂载自己的web项目
lin@ubuntu:~$ docker run -d -p 8080:8080 --name rzdb -v /home/lin/docker:/opt/tomcat/webapps consol/tomcat-7.07c6d38e37117f0779afa29924042715a3d1feef1324b502b92a217a15482385e
这时候进入容器就可以看到挂载的项目:
root@7c6d38e37117:/# cd /opt/tomcatroot@7c6d38e37117:/opt/tomcat# cd webapps/root@7c6d38e37117:/opt/tomcat/webapps# cd rzdbroot@7c6d38e37117:/opt/tomcat/webapps/rzdb# ls400.jsp 404.jsp 500.jsp META-INF WEB-INF common css images img index.html index.jsp js myjs newcss resource session.jsp
这个映射的是8080,访问宿主机的8080就可以看到项目已经启动
附加:这时候会有人疑问,那我想把自己的项目部署到tomcat该怎么做呢,这里大概介绍一下怎么吧宿主机上的文件挂在到容器里:
-
先查看运行容器的id
lin@ubuntu:~$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES224adb2c2a8c consol/tomcat-7.0 "/bin/sh -c /opt/tomc" 29 minutes ago Up 29 minutes 8778/tcp, 0.0.0.0:80->8080/tcp tender_elion
-
查看当初创建容器时候返回的一串ID也就是整个容器的ID
lin@ubuntu:~$ docker inspect -f '{{.Id}}' 224adb2c2a8c224adb2c2a8c6a23e81f6a806051005bacec4ed3ee9ece18bc1e041bbddac635
-
宿主机往容器拷贝文件
lin@ubuntu:~$ sudo cp docker/lin.log /var/lib/docker/aufs/mnt/224adb2c2a8c6a23e81f6a806051005bacec4ed3ee9ece18bc1e041bbddac635
文件会拷贝到根目录root下
注意:本实验我这里没有成功,没有找到copy的文件;
-
使用挂载
lin@ubuntu:~$ docker run -d -p 8080:8080 --name rzdb -v /home/lin/docker:/opt/tomcat/webapps consol/tomcat-7.07c6d38e37117f0779afa29924042715a3d1feef1324b502b92a217a15482385e
这时候进入容器就可以看到挂载的项目:
root@7c6d38e37117:/# cd /opt/tomcatroot@7c6d38e37117:/opt/tomcat# cd webapps/root@7c6d38e37117:/opt/tomcat/webapps# cd rzdbroot@7c6d38e37117:/opt/tomcat/webapps/rzdb# ls400.jsp 404.jsp 500.jsp META-INF WEB-INF common css images img index.html index.jsp js myjs newcss resource session.jsp
-
容器往宿主机拷贝其中 224adb2c2a8c 是容器ID
lin@ubuntu:/home/home$ sudo docker cp 224adb2c2a8c:/home /home/linlin@ubuntu:/home/home$ cdlin@ubuntu:~$ lsDesktop docker dockerfile Documents Downloads examples.desktop home Music Pictures Public Templates Videos
宿主机多了home的文件夹,拷贝成功~
二、自己编写Dockerfile,基于ubuntu14.04安装 tomcat和jdk运行程序
1、编写Dockerfile
2、build image
3、运行container
4、访问
本文详细介绍如何通过Docker快速部署Tomcat应用,包括搜索、安装官方镜像、自定义Dockerfile、挂载Web项目等步骤。
138

被折叠的 条评论
为什么被折叠?



