一、开发环境
开发工具 版本 IntelliJ IDEA 2018.1.6 (Community Edition) Docker integration 181.5087.20二、安装docker插件
1、Idea内安装
打开Idea,从File->Settings->Plugins->Install JetBrains plugin进入插件安装界面,在搜索框中输入docker,可以看到Docker integration,点击右边的Install按钮进行安装。安装后重启Idea。
重启后配置docker,连接到远程docker服务。从File->Settings->Build,Execution,Deployment->Docker打开配置界面。
点击+号添加一个docker配置,输入Name和Engine API URL,URL是docker服务地址,需要docker开启远程连接功能。CentOS中在docker启动参数里添加如下配置即可开启远程连接。
配置文件位置:/usr/lib/systemd/system/docker.service,配置参数项:ExecStart
-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
2、下载安装包安装
从JetBrains官网(http://plugins.jetbrains.com/plugin/7724-docker-integration)下载docker安装包,下载后打开Idea,从File->Settings->Plugins->Install plugin from disk打开选择文件界面,选择刚下载的zip安装包,安装后重启Idea。配置如上。
三、Spring Boot 服务docker部署
1、新建一个Spring Boot工程
可参考示例工程https://github.com/sealire/people/tree/tutorial,在工程里写一个REST接口,如下,简单返回一个字符串。
@RequestMapping(value = “test”, method = RequestMethod.GET) @ResponseBody public Object test(HttpServletRequest request, @RequestParam String param) { return param; }修改pom文件,添加properties,添加plugin:
<properties> <docker.image.prefix>leesia</docker.image.prefix> </properties> <build> <plugins> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory></dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins> </build>2、配置Dockerfile文件
在工程根目录下新建Dockerfile文件,内容如下:
FROM java:8 VOLUME /tmp COPY target/resource-1.0-SNAPSHOT.jar resource.jar RUN bash -c “touch /resource.jar” EXPOSE 8080 ENTRYPOINT [“java”,”-jar”,”resource.jar”] # docker run -d -p 18080:8080 –name docker-resource leesia/resource:1.0基础镜像是java:8,copy命令将/target下的resource jar拷贝到镜像中。ENTRYPOINT是容器启动命令。
3、创建docker镜像
将工程打包,在idea Terminal中执行mvn clean package命令进行编译打包,打包后会在target目录下生成jar包。
生成jar包后,可以在本地启动服务,进行测试。测试后,配置docker镜像制件命令。从Run->Edit Configrations进入配置界面。
点击Docker,再点击+号,添加一个docker命令,输入Name,选择Server,选择Dockerfile文件,输入镜像tag,完成配置。
配置完成后,执行这个命令,
如果没有错误的话,会连接上docker服务器,并制作镜像。制作完镜像后,在docker服务器启动这个镜像,执行如下命令,启动镜像:
docker run -d -p 18080:8080 –name docker-resource leesia/resource:1.0
-p将docker服务器的18080端口绑定到容器的8080端口。
容器启动后,访问服务接口,接口参数是一个字符串,并将字符返回。
暂无评论内容