查看是否存在tomcat镜像,如果没有则从仓库
caiyl@caiylpc:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v2 41ea36d31693 19 hours ago 109MB
<none> <none> 26bb037d5a8b 3 months ago 924MB
python 3.6 d6b15f660ce8 3 months ago 924MB
nginx latest 8c9ca4d17702 3 months ago 109MB
ubuntu 14.04 5dbc3f318ea5 5 months ago 188MB
hello-world latest fce289e99eb9 5 months ago 1.84kB
caiyl@caiylpc:~$
拉取tomcat
caiyl@caiylpc:~$ docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
6f2f362378c5: Pull complete
494c27a8a6b8: Pull complete
7596bb83081b: Pull complete
372744b62d49: Pull complete
fb72767f9beb: Pull complete
3fe571af508a: Pull complete
3e6725074325: Pull complete
9ffd5dadda90: Pull complete
4e051c2969b0: Pull complete
b326a8316680: Pull complete
Digest: sha256:cea26a23e1ebdbebdddde1e02a10e655b0b386d8de6002301a037a08be87a12f
Status: Downloaded newer image for tomcat:latest
测试tomcat
caiyl@caiylpc:~$ docker run -p 8080:8080 tomcat:latest
24-Jun-2019 07:53:48.040 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.42
24-Jun-2019 07:53:48.042 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Jun 4 2019 20:29:04 UTC
24-Jun-2019 07:53:48.042 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.42.0
24-Jun-2019 07:53:48.042 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
24-Jun-2019 07:53:48.042 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 4.15.0-52-generic
24-Jun-2019 07:53:48.042 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
24-Jun-2019 07:53:48.042 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/local/openjdk-8/jre
24-Jun-2019 07:53:48.042 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_212-b04
24-Jun-2019 07:53:48.042 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
24-Jun-2019 07:53:48.042 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/local/tomcat
24-Jun-2019 07:53:48.042 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/local/tomcat
24-Jun-2019 07:53:48.043 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
24-Jun-2019 07:53:48.043 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
24-Jun-2019 07:53:48.043 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
24-Jun-2019 07:53:48.043 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
24-Jun-2019 07:53:48.043 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
24-Jun-2019 07:53:48.043 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
24-Jun-2019 07:53:48.043 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
24-Jun-2019 07:53:48.049 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
24-Jun-2019 07:53:48.050 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
24-Jun-2019 07:53:48.050 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.21] using APR version [1.5.2].
24-Jun-2019 07:53:48.050 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
24-Jun-2019 07:53:48.050 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
24-Jun-2019 07:53:48.059 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.0j 20 Nov 2018]
24-Jun-2019 07:53:48.194 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
24-Jun-2019 07:53:48.203 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
24-Jun-2019 07:53:48.215 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
24-Jun-2019 07:53:48.218 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
24-Jun-2019 07:53:48.218 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 636 ms
24-Jun-2019 07:53:48.253 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
24-Jun-2019 07:53:48.256 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.42
24-Jun-2019 07:53:48.319 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/examples]
24-Jun-2019 07:53:48.966 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/examples] has finished in [647] ms
24-Jun-2019 07:53:48.968 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/docs]
24-Jun-2019 07:53:49.002 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/docs] has finished in [34] ms
24-Jun-2019 07:53:49.002 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/host-manager]
24-Jun-2019 07:53:49.055 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/host-manager] has finished in [53] ms
24-Jun-2019 07:53:49.055 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/manager]
24-Jun-2019 07:53:49.081 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/manager] has finished in [26] ms
24-Jun-2019 07:53:49.081 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/ROOT]
24-Jun-2019 07:53:49.096 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/ROOT] has finished in [15] ms
24-Jun-2019 07:53:49.105 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
24-Jun-2019 07:53:49.136 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
24-Jun-2019 07:53:49.141 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 923 ms
编写Dockerfile 构建文件
- 以tomcat为基础镜像
- 把war包拷贝到tomcat目录
- 构建镜像
docker build -t demo:v1 . - 运行镜像
docker run -d -p 8080:8080 demo:v1
Dockerfile文件如下
FROM tomcat
COPY demo.war /usr/local/tomcat/webapps
结果
一些相关的命令
1.查看镜像
caiyl@caiylpc:~/append/data/ywbl$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
demo v1 3fe418dab0b0 22 minutes ago 534MB
nginx v2 41ea36d31693 21 hours ago 109MB
tomcat latest 5377fd8533c3 9 days ago 506MB
<none> <none> 26bb037d5a8b 3 months ago 924MB
python 3.6 d6b15f660ce8 3 months ago 924MB
nginx latest 8c9ca4d17702 3 months ago 109MB
ubuntu 14.04 5dbc3f318ea5 5 months ago 188MB
hello-world latest fce289e99eb9 5 months ago 1.84kB
2.查看容器
caiyl@caiylpc:~/append/data/ywbl$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a4cc888e8d04 demo:v1 "catalina.sh run" 2 minutes ago Up 2 minutes 0.0.0.0:8080->8080/tcp angry_agnesi
ef897e9f5c07 tomcat "catalina.sh run" 14 minutes ago Up 14 minutes 8080/tcp sleepy_wiles
4ca4f9412eff demo:v1 "catalina.sh run" 19 minutes ago Up 19 minutes 0.0.0.0:8081->8080/tcp distracted_jones
3.进入容器终端
caiyl@caiylpc:~/append/data/ywbl$ docker exec -it a4cc888e8d04 /bin/bash
root@a4cc888e8d04:/usr/local/tomcat#
a4cc888e8d04为容器的id