服务器端部署docker:
0.sudo yum install -y yum-utils \device-mapper-persistent-data \lvm21.sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo2.sudo yum install docker-ce docker-ce-cli containerd.io -y
将docker的2375端口开放出来,如下:
cp /lib/systemd/system/docker.service /lib/systemd/system/docker.service.bakvim /lib/systemd/system/docker.service这句改成这样的: ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375systemctl daemon-reloadsystemctl restart dockernetstat -plnt


服务端准备好了,下面来看客户端:
先在idea中安装docker的插件

连接刚部署的docker服务端:



写个demo测试下,我这边直接使用集成activeMq的项目,在项目中写入Dockerfile文件
FROM openjdk:8-jdk-alpineADD *.jar test.jarENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/test.jar"]
这边文件我放置在了/src/main/docker下:

打包和上传docker需要引入插件:
<build><finalName>${project.artifactId}-${project.version}</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding><compilerArguments><extdirs>${project.basedir}/libs</extdirs></compilerArguments></configuration></plugin><plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.0.0</version><configuration><dockerDirectory>src/main/docker</dockerDirectory><resources><resource><targetPath>/</targetPath><directory>${project.build.directory}</directory><include>${project.build.finalName}.jar</include></resource></resources></configuration></plugin><plugin><artifactId>maven-antrun-plugin</artifactId><executions><execution><phase>package</phase><configuration><tasks><copy todir="src/main/docker" file="target/${project.artifactId}-${project.version}.${project.packaging}"></copy></tasks></configuration><goals><goal>run</goal></goals></execution></executions></plugin></plugins></build>
进行项目打包:

运行:

运行成功


注意:项目打包的时候遇到找不到jar包的错,原因就在于我引入了外部(非maven导入的)jar包,如下图所示

解决办法是在pom.xml加入:
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding><compilerArguments><extdirs>${project.basedir}/libs</extdirs></compilerArguments></configuration></plugin>

本文详细指导如何在CentOS服务器上通过yum安装Docker,设置2375端口,配置docker服务以监听外网,并在IDEA中配置插件连接。还演示了在项目中创建Dockerfile构建镜像,解决外部jar包依赖问题,以及使用Maven插件打包和推送镜像的过程。
372

被折叠的 条评论
为什么被折叠?



