Docker可认为是虚拟机,可以将分布式的应用部署在其中的轻量级、隔离容器中。本文用于记录在Docker容器中构建Vert.x应用可能遇到的问题及解决办法。
1、首先在指定目录新建一个文件夹,将要发布的应用jar包或者是js文件放入其中。
如编写hello-verticle.js
vertx.createHttpServer().requestHandler(function (request) {
request.response().end("Hello world");
}).listen(8080);
2、然后在同一目录创建Dockerfile.txt文件,例如我的Dockerfile.txt文件内容:
# 继承 vert.x 镜像 (1)
FROM vertx/vertx3
# 设置要部署的 verticle 名字 (2)
ENV VERTICLE_NAME hello-verticle.js
# 设置 verticles 存放路径 (3)
ENV VERTICLE_HOME /usr/verticles
EXPOSE 8080
# 拷贝 verticle 至容器中 (4)
COPY $VERTICLE_NAME $VERTICLE_HOME/
# 启动 verticle (5)
WORKDIR $VERTICLE_HOME
ENTRYPOINT ["sh", "-c"]
CMD ["exec vertx run $VERTICLE_NAME -cp $VERTICLE_HOME/*"]
3、构建镜像
docker build -t "sample/vertx-javascript" -f Dockerfile.txt .
注意:这里sample/vertx-javascript 是构建的镜像名称,-f Dockerfile.txt是Dockerbuild的位置,.txt可能是在window下的指令才需要增加,最后一个点表示的是在前文件夹位置。
4、启动镜像
docker run -t -i -p 8080:8080 sample/vertx-javascript
5、验证
打开浏览器输入地址:http://localhost:8080