IDEA调试Docker环境

1.准备环境

JDK
IDEA
DOCKER

2.拉取jdk8版本镜像

docker pull primetoninc/jdk:1.8

3.远程部署docker镜像

编辑vi /usr/lib/systemd/system/docker.service,配置远程访问
[Service]
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

docker重新读取配置文件,重新启动docker服务
systemctl daemon-reload
systemctl restart docker

测试
curl http://127.0.0.1:2375/info

4.配置idea环境

idea下载docker integration插件
file->setting->plugins搜索docker integrate进行安装
安装完成后,在idea  file->setting->docker进行配置

5.配置maven项目docker build插件

<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>

6.在项目根目录加入Dockerfile文件

FROM primetoninc/jdk:1.8
COPY target/com.test-1.0-SNAPSHOT.jar /app/app.jar
VOLUME ["/log/","/log/"]
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo 'Asia/Shanghai' >/etc/timezone \
EXPOSE 8083
EXPOSE 4000
CMD ["sh", "-c", "java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000 -jar /app/app.jar"]

7.将工程打包,在idea Terminal中执行mvn clean package命令进行编译打包,打包后会在target目录下生成jar包

8.生成jar包后,可以在本地启动服务,进行测试。测试后,配置docker镜像制件命令。从Run->Edit Configrations进入配置界面

9.运行项目命令,如果报一下错,可能是.docker文件夹下有config.json文件

com.github.dockerjava.api.exception.DockerClientException
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐