IntelliJ IDEA安装docker插件

本文介绍如何在IntelliJ IDEA环境下使用Docker插件,搭建SpringBoot项目的Docker部署流程,包括安装Docker插件、配置Docker环境、创建Dockerfile、构建并运行Docker镜像。

一、开发环境

开发工具版本
IntelliJ IDEA2018.1.6 (Community Edition)
Docker integration181.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端口。

    容器启动后,访问服务接口,接口参数是一个字符串,并将字符返回。

 

 

 

 

 

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值