部署一个web应用
下载
jetty镜像$ docker pull jetty jetty 9 3f468c596b78 2 days ago 344.1 MB大概300M+,包括
OpenJdk1.7和操作系统官方文档 Jetty registry
$ docker run -d jetty测试
http://container-ip:8080可以看到jetty已经运行,如果你想使用host的端口请做如下端口映射:$ docker run -d -p 8888:8080 jetty现在可以用
Docker host的 ip 和端口 8888 来测试jetty$curl http://docker-host-ip:8888 <HTML> <HEAD> <TITLE>Error 404 - Not Found</TITLE> <BODY> <H2>Error 404 - Not Found.</H2> No context on this server matched or handled this request.<BR>Contexts known to this server are: <ul></ul><hr><a href="http://eclipse.org/jetty"><img border=0 src="/favicon.ico"/></a> <a href="http://eclipse.org/jetty">Powered by Jetty:// Java Web Server</a><hr/>jetty镜像的默认环境配置:$ docker run -i -t jetty env PATH=/usr/local/jetty/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOSTNAME=9a862391d719 TERM=xterm JAVA_VERSION=7u75 JAVA_DEBIAN_VERSION=7u75-2.5.4-2 JETTY_HOME=/usr/local/jetty JETTY_MAJOR=9 JETTY_VERSION=9.2.10.v20150310 JETTY_TGZ_URL=http://eclipse.org/downloads/download.php?r=1&file=/jetty/stable-9/dist/jetty-distribution-9.2.10.v20150310.tar.gz JETTY_BASE=/var/lib/jetty JETTY_RUN=/run/jetty JETTY_STATE=/run/jetty/jetty.state TMPDIR=/tmp/jetty HOME=/rootWebapps被部署在容器内的/var/lib/jetty/webapps.
挂载Docker Host上的目录到容器内:$ docker run -d -v /tmp/webapps:/var/lib/jetty/webapps -p 8080:8080 jetty挂载
Docker Host上的/tmp/webapps到容器的/var/lib/jetty/webapps目录并映射 Host 上8080端口到容器的8080端口。
下面部署webapp到/tmp/webapps中,建立一个Web Project:jetty-webapp-test,在web根目录添加两个测试文件index.jsp和index.html,打包成jetty-webapp-test.war。把war包移动到Docker Host的/tmp/webapps下:$ curl http://localhost:8080/jetty-webapp-test/index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>index.html</title> </head> <body> 这是一个测试html! </body> </html> $ curl http://localhost:8080/jetty-webapp-test/index.jsp <html> <body> <h2>Hello World!</h2> hello world!部署完成。
