自制javaweb镜像

将一个web项目(这里用一个开源的jpress)部署到tomcat上,发布镜像

pull tomcat

root@jimo:/home/workspace/docker# docker pull hub.c.163.com/library/tomcat:latest
latest: Pulling from library/tomcat
42cb69312da9: Pull complete 
5062760e76bd: Pull complete 
540b99439160: Pull complete 
73204ed26700: Pull complete 
c93fd9c7743a: Pull complete 
cbbb29240772: Pull complete 
0c56a264c3e8: Pull complete 
af89dea48ea7: Pull complete 
066cf60bebcb: Pull complete 
c1c219390d6a: Pull complete 
94aaf55e5ccc: Pull complete 
d7c4f0197d03: Pull complete 
fab96e39c7ca: Pull complete 
5a2029ca9dee: Pull complete 
Digest: sha256:e9b4474a10ff0059a80bab7c7e0cd0eb2795dc73920b9e1e5288eb305db72c4c
Status: Downloaded newer image for hub.c.163.com/library/tomcat:latest
root@jimo:/home/workspace/docker# docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
hub.c.163.com/library/tomcat   latest              08f8166740f8        7 days ago          367MB
hub.c.163.com/library/nginx    latest              46102226f2fd        2 weeks ago         109MB
hello-world                    latest              48b5124b2768        3 months ago        1.84kB

下载web项目

当然可以用自己的

# wget https://github.com/JpressProjects/jpress/raw/master/wars/jpress-web-newest.war
root@jimo:/home/workspace/docker# mv jpress-web-newest.war jpress.war
root@jimo:/home/workspace/docker# ls
install.sh  jpress.war

写自己的Dockerfile

root@jimo:/home/workspace/docker# cat Dockerfile 
from hub.c.163.com/library/tomcat

MAINTAINER jimo [email protected]

COPY jpress.war /usr/local/tomcat/webapps

这个路径可在tomcat的镜像文档里看:

CATALINA_BASE:   /usr/local/tomcat
CATALINA_HOME:   /usr/local/tomcat

构建镜像

root@jimo:/home/workspace/docker# docker build -t jpress:latest .
Sending build context to Docker daemon   20.8MB
Step 1/3 : FROM hub.c.163.com/library/tomcat
 ---> 08f8166740f8
Step 2/3 : MAINTAINER jimo [email protected]
 ---> Running in e802950209da
 ---> 6068af0a1a2b
Removing intermediate container e802950209da
Step 3/3 : COPY jpress.war /usr/local/tomcat/webapps
 ---> 433c37f79f32
Removing intermediate container 104db404e5f7
Successfully built 433c37f79f32
Successfully tagged jpress:latest

root@jimo:/home/workspace/docker# docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
jpress                         latest              433c37f79f32        33 seconds ago      388MB
hub.c.163.com/library/tomcat   latest              08f8166740f8        7 days ago          367MB
hub.c.163.com/library/nginx    latest              46102226f2fd        2 weeks ago         109MB
hello-world                    latest              48b5124b2768        3 months ago        1.84kB

运行起来

root@jimo:/home/workspace/docker# docker run -d -p 8888:8080 jpress
cf1c87802743b2185f19f64a6de22f7b6e9e0201b803b1378694476d0070d157
root@jimo:/home/workspace/docker# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
cf1c87802743        jpress              "catalina.sh run"   3 seconds ago       Up 2 seconds        0.0.0.0:8888->8080/tcp   dazzling_goldwasser

在页面需要访问数据库,我们再pull一个mysql下来:

pull mysql

root@jimo:/home/workspace/docker# docker pull hub.c.163.com/library/mysql:latest
latest: Pulling from library/mysql
42cb69312da9: Already exists 
e2cf5467c4b5: Pull complete 
871ec0232f66: Pull complete 
3c0ae7ec690d: Pull complete 
d39b43089b70: Pull complete 
aa0e7cb4b67c: Pull complete 
738db9902d06: Pull complete 
ae333863ac05: Pull complete 
6d014992204a: Pull complete 
09aeca0c9a82: Pull complete 
0162083b2de0: Pull complete 
Digest: sha256:b2bce1a792237ac5df78877d583f34b09ab023a77130921a6bcce67ce2d24ff0
Status: Downloaded newer image for hub.c.163.com/library/mysql:latest

建一个jpress数据库

root@jimo:/home/workspace/docker# docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql
078344a163cd912b4a561477d9c9b43139271c10b71d2576ab6957602778124d
root@jimo:/home/workspace/docker# docker ps
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                    NAMES
078344a163cd        hub.c.163.com/library/mysql   "docker-entrypoint..."   4 seconds ago       Up 4 seconds        0.0.0.0:3307->3306/tcp   pensive_lamport
cf1c87802743        jpress                        "catalina.sh run"        13 minutes ago      Up 13 minutes       0.0.0.0:8888->8080/tcp   dazzling_goldwasser
root@jimo:/home/workspace/docker#

现在填入基本信息,注意数据库主机的ip配局域网的

重启web服务器

root@jimo:/home/workspace/docker# docker restart cf1
cf1
root@jimo:/home/workspace/docker# docker ps
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                    NAMES
078344a163cd        hub.c.163.com/library/mysql   "docker-entrypoint..."   3 minutes ago       Up 3 minutes        0.0.0.0:3307->3306/tcp   pensive_lamport
cf1c87802743        jpress                        "catalina.sh run"        17 minutes ago      Up 4 seconds        0.0.0.0:8888->8080/tcp   dazzling_goldwasser
root@jimo:/home/workspace/docker#

就ok了

results matching ""

    No results matching ""