idea快速部署项目到Docker
这里是在虚拟机中的部署。
首先确保虚拟机上安装docker了
1.修改docker的配置文件
找到docker.service文件并编辑:在ExecStart后面添加 -H tcp://0.0.0.0:2375 这个端口记住,后面连接要用到。
root@deployment:/home/ljo/wfw# vi /lib/systemd/system/docker.service
如果找不到这个文件 可以通过find / -name docker.service查找
2.重新加载配置文件
root@deployment:/home/ljo/wfw# systemctl daemon-reload
root@deployment:/home/ljo/wfw# systemctl start docker
通过指令可以查看到
3.idea中的配置
1.项目pom文件添加
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<!-- 下面的可以不要,直接在下面的idea中设置 -->
<configuration>
<imageName>dolphin/${project.artifactId}</imageName>
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<dockerDirectory>${project.basedir}</dockerDirectory>
<!-- ip是虚拟机的ip,端口就是上面设置的端口2375 -->
<dockerHost>http://10.112.26.131:2375</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<serverId>docker-hub</serverId>
<registryUrl>https://index.docker.io/v1</registryUrl>
</configuration>
</plugin>
2.安装docker插件
3.添加Dockerfile
在自己的项目中添加一个Dockerfile文件,放哪都差不多,放在resources目录下方便管理一点。
并添加如下内容
FROM openjdk:8-jdk-alpine
## saltice-sc-admin-1.0-SNAPSHOT.jar是我项目打包后生成的可运行的jar
## saltice-sc.jar 是在构建镜像里面的名称,就是把前面那个文件从上下文目录放到了镜像里面的根目录去了
ADD saltice-sc-admin-1.0-SNAPSHOT.jar saltice-sc.jar
MAINTAINER SaltIce
# 暴露端口
EXPOSE 5052
## 运行命令组装一下啦
ENTRYPOINT ["java","-Dfile.encoding=utf-8","-jar","/saltice-sc.jar"]
5.项目打包
然后将项目打包,生成jar或者war(这个需要改一下Dockerfile内容,换一下基础镜像为tomcat、文件移动到tomcat的webapps目录下,运行命令改为启动tomcat即可);
6.配置idea docker
然后看到带docker图标的直接运行
可以在idea下方看到
运行效果图
直接访问虚拟机中我程序中的接口,可以看到获取到数据了。
查看docker中容器和镜像情况,也可以在idea查看:
4.中途容易出现的问题:
- idea中上下文目录设置不对,就会找不到你打包的jar的;
- 端口映射设置不对,就访问不到接口的;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/64687.html