记一次坑 第一次插件docker-maven-plugin的 配置文件中没写远程主机的地址
在idea的setting 中设置了,以为这里不用配置了,结果掉进坑了
<configuration>
<!--指定生成的镜像名-->
<imageName>lxcuaa</imageName>
<!--指定标签 这里指定的是镜像的版本,我们默认版本是latest-->
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<!--指定基础镜像jdk1.8-->
<baseImage>openjdk:8-jdk-alpine</baseImage>
<baseImage>java:8</baseImage>
<!-- 镜像制作人本人信息-->
<maintainer>chong@email.com</maintainer>
<!-- 结合dockerfile 构建,不需要指定基础镜像,暴露端口,因为在Dockerfilr中指定-->
<!--<dockerDirectory>Dockerfile的路径</dockerDirectory>-->
<!--指定登录容器默认到/目录-->
<workdir>/</workdir>
<!-- 构建镜像的时候需要在镜像容器中运行的 linux命令 -->
<!-- <runs>-->
<!-- <run>-->
<!-- </run>-->
<!-- </runs>-->
<!--查看我们的java版本-->
<cmd>\["java", "-version"\]</cmd>
<!--${project.build.finalName}.jar是打包后生成的jar包的名字 -Duser.timezone=GMT+8 :设置时区同步(项目时间为东八区标准时间)-->
<entryPoint>\["java","-Duser.timezone=GMT+8", "-jar", "/${project.build.finalName}.jar"\]</entryPoint>
<!--指定远程 docker api地址(docker服务器的ip+docker的远程端口)-->
<dockerHost>http://192.168.128.3:2375</dockerHost>
<!--容器服务的端口(暴露的端口)-->
<!-- <exposes>86</exposes>-->
<!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
<resources>
<resource>
<targetPath>/</targetPath>
<!--jar 包所在的路径 此处配置的 即对应 target 目录-->
<!-- <directory>${project.build.directory}</directory>-->
<directory>${project.build.directory}</directory>
<!--用于指定需要复制的文件 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
<!-- <include>${project.build.finalName}.jar</include>-->
<include>cccdemo.jar</include>
</resource>
</resources>
</configuration>
</plugin>
https://blog.csdn.net/caidingnu/article/details/109279904
蔡定努 2020-10-25 22:15:54 103
收藏 1
版权
nginx
nginx
蔡定努
¥9.90
订阅博主
如果使用idea编辑器的话,可以使用docker插件来远程使用服务器(虚拟机)上的docker,简单方便快捷的使用docker,更重要的是使用插件可以实现项目的一键部署,当然这还需要一些简单的配置。
默认的dokcer是不支持远程访问的,需要加点配置,开启Docker的远程访问
#修改Docker服务文件,需要先切换到root用户
vim /lib/systemd/system/docker.service
#注释掉"ExecStart"这一行,并添加下面这一行信息
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
重新加载配置文件
#重新加载配置文件
systemctl daemon-reload
#重启服务
systemctl restart docker.service
#查看配置的端口号(2375)是否开启(防火墙必须放开docker远程端口)
使用idea的docker插件连接docker,idea默认已经下载过docker插件了,如果没有的话,需要在idea下载docker插件
点击idea的设置选项(file --> setting -> docker),新建连接
连接成功之后就可以使用服务器(虚拟机)上的docker了
idea可以通过可视化的方式拉取镜像,不用自己去敲命令
有时候会出现拉取的时间超时的情况,可以配置一下国内的镜像获取阿里云的加速器
创建并且运行docker容器
创建成功之后可以看到新创建的容器,也可以在服务器(虚拟机)上用docker命令查看
重启容器、停止容器和删除容器等操作
传统的docker部署springboot项目,需要自己手动配置Dockerfile文件,还需要将生成的jar包跟Dockerfile文件一起上传到服务器,整个流程下来很麻烦,如果用idea的docker插件就可以实现一键部署springboot项目,简单方便。
maven项目中:
<configuration>
<!--指定生成的镜像名-->
<imageName>lxcuaa</imageName>
<!--指定标签 这里指定的是镜像的版本,我们默认版本是latest-->
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<!--指定基础镜像jdk1.8-->
<baseImage>openjdk:8-jdk-alpine</baseImage>
<baseImage>java:8</baseImage>
<!-- 镜像制作人本人信息-->
<maintainer>chong@email.com</maintainer>
<!-- 结合dockerfile 构建,不需要指定基础镜像,暴露端口,因为在Dockerfilr中指定-->
<!--<dockerDirectory>Dockerfile的路径</dockerDirectory>-->
<!--指定登录容器默认到/目录-->
<workdir>/</workdir>
<!-- 构建镜像的时候需要在镜像容器中运行的 linux命令 -->
<!-- <runs>-->
<!-- <run>-->
<!-- </run>-->
<!-- </runs>-->
<!--查看我们的java版本-->
<cmd>\["java", "-version"\]</cmd>
<!--${project.build.finalName}.jar是打包后生成的jar包的名字 -Duser.timezone=GMT+8 :设置时区同步(项目时间为东八区标准时间)-->
<entryPoint>\["java","-Duser.timezone=GMT+8", "-jar", "/${project.build.finalName}.jar"\]</entryPoint>
<!--指定远程 docker api地址(docker服务器的ip+docker的远程端口)-->
<dockerHost>http://192.168.128.3:2375</dockerHost>
<!--容器服务的端口(暴露的端口)-->
<!-- <exposes>86</exposes>-->
<!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
<resources>
<resource>
<targetPath>/</targetPath>
<!--jar 包所在的路径 此处配置的 即对应 target 目录-->
<!-- <directory>${project.build.directory}</directory>-->
<directory>${project.build.directory}</directory>
<!--用于指定需要复制的文件 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
<!-- <include>${project.build.finalName}.jar</include>-->
<include>cccdemo.jar</include>
</resource>
</resources>
</configuration>
</plugin>
ok,接下来只要先点击clean清除之前的所有打包的文件,然后再点击package打包文件即可完成镜像的构建,真正的一键部署
建,真正的一键部署
到此镜像构建成功,接下来只要创建容器跑起来即可
通过ip访问
手机扫一扫
移动阅读更方便
你可能感兴趣的文章