记录用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,这样就可以同时以不同的端口号运行多一个程序,达到高可用: