用Dockerfile编写一个最简单web项目的docker镜像程序,并作为容器运行

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37138899/article/details/88200963

记录用doker运行一个最简单web项目的实现过程:

本文使用的web工程demo为:SpringBoot之旅,开篇 hello world(SpringBoot 2.x, Web Project)

基本步骤分为:

1)环境安装(win7的docker安装、idea安装docker插件)

2)Dockerfile编写,docker镜像的生成

3)生成运行容器,测试

一、环境准备:

1、由于本人用的是win7,安装docker比较麻烦,这里就不叙述了,各位看官自行百度,基本上是安装了docker后,在电脑上会运行一个虚拟机,我的机器上分配的ip地址是192.168.99.100,然后点击docker启动图标,虚拟机运行,弹出命令窗口,自动连接到虚拟机。

2、给idea安装docker插件

1)打开File->Settings

2)选择plugin,在搜索框中输入docker,点击Search in repositories

3)弹出窗口选择 Docker integration,点击Install

4)安装好之后重启,idea生效,打开Settings->Build,Executino,Deployment->Docker,发现已经自动关联我们安装的Docker:

二、Coding:

1、在项目目录下新建Dockerfile:

FROM:拉取jdk环境地址

ADD:添加工程jar包,重命名为hello.jar

EXPOSE:暴露端口号8080     ------暴露的端口号需要与工程的端口号一致,这里工程没设置,端口号是8080

ENTRYPOINT:执行语句

其中jdk的路径可以去网易云个人后台镜像中心找到:

点击复制,得到 docker pull hub.c.163.com/library/java:latest;

然后将 hub.c.163.com/library/java:latest 黏贴到FROM之后(中间有一个空格),如下所示

选择自己需要的jdk版本替换latest,我这里是8-alpine,(注意springboot2.x要求jdk必须是1.8以上)

2、具体代码如下:

FROM hub.c.163.com/library/java:8-alpine

ADD target/*.jar hello.jar

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "/hello.jar"]

 

3、点击打开Terminal窗口:

4、输入:mvn install 编译工程jar包

5、编译成功后执行构建docker镜像命令:docker build -t  springboot/webdemo .

其中是springboot是地址,webdemo是名称,可以根据需要自己定义,同时不要忘记最后项目名空格后还有一个“.”,表示在当前目录,按回车键执行,即可构建镜像成功:

6、使用命令:docker images,可以查看我们刚刚生成的镜像

三、测试

1、运行镜像:docker run -p 8080:8080 -d springboot/webdemo

2、启动成功,浏览器访问:http://192.168.99.100:8080/hello/say?word=world

3、还可以再多启动一个容器:docker run -p 8089:8080 -d springboot/webdemo

4、输入:http://192.168.99.100:8089/hello/say?word=Baron,这样就可以同时以不同的端口号运行多一个程序,达到高可用:

 

展开阅读全文

没有更多推荐了,返回首页