部署一个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=/root
Webapps
被部署在容器内的/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!
部署完成。