IDEA整合Docker实现一键部署及处理远程连接导致的问题

一、使用步骤

1.开启Docker远程连接

idea整合docker,需要连接到docker,这就需要开启docker的远程连接了

执行命令vim /usr/lib/systemd/system/docker.service,在如下位置添加内容

-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

IDEA整合Docker实现一键部署及处理远程连接导致的问题_第1张图片

保存后,执行命令systemctl daemon-reload、systemctl restart docker重启docker (netstat -ntlp查询端口是否开启成功)

然后登录阿里云开放2375端口

2.配置IDEA的Docker插件

2.1.IDEA安装Docker插件

IDEA整合Docker实现一键部署及处理远程连接导致的问题_第2张图片

2.2.配置Docker信息

IDEA整合Docker实现一键部署及处理远程连接导致的问题_第3张图片

2.3.pom引入Docker插件


<plugin>
    <groupId>com.spotifygroupId>
    <artifactId>docker-maven-pluginartifactId>
    <version>${docker.version}version>

    <configuration>
        
        <dockerHost>http://你的ip地址:2375dockerHost>
        
        <imageName>${docker.image.prefix}/${project.artifactId}imageName>
        
        <dockerDirectory>${project.basedir}dockerDirectory>
        <resources>
            <resource>
                <targetPath>/targetPath>
                
                <directory>${project.build.directory}directory>
                
                <include>${project.build.finalName}.jarinclude>
            resource>
        resources>
    configuration>
plugin>

打开IDEA底部services,已经能看到连接上Docker和所有的镜像和容器信息。

IDEA整合Docker实现一键部署及处理远程连接导致的问题_第4张图片

3.使用测试

3.1.创建Dockerfile文件

FROM java:8
MAINTAINER wjw [email protected]
COPY *.jar /app.jar
EXPOSE 8081
ENTRYPOINT ["java","-jar","app.jar"]

3.2.构建docker镜像

执行package将项目打为JAR包,然后点击docker:build构建docker镜像

IDEA整合Docker实现一键部署及处理远程连接导致的问题_第5张图片

3.3.创建docker容器并运行

IDEA整合Docker实现一键部署及处理远程连接导致的问题_第6张图片
IDEA整合Docker实现一键部署及处理远程连接导致的问题_第7张图片

点击运行即可,登录服务器执行docker ps命令,可以看到运行的程序

至此IDEA整合Docker已完成,后面直接就可以在idea中发布程序

二、开启远程连接,沦为矿机

1.发现程序

昨天使用idea整合docker,实现了项目快速部署,结果隔天就发现了服务器被植入了挖矿程序

IDEA整合Docker实现一键部署及处理远程连接导致的问题_第8张图片
登录服务器,执行top命令,发现cpu占满

2.解决方法

执行命令docker ps -a ,发现不明容器ubuntu,使用命令docker exec -ti ubuntu /bin/bash进入容器,通过crontab -l来查看当前容器的cronjob,每分钟去执行一遍arcc.sh这个脚本

找到问题,先将docker停掉,删除容器和镜像,然后找到宿主机上的木马程序删掉,实在不行直接初始化(博主这里是个人测试用所以无所谓)

docker stop 88ec131c4c4e --停止容器
docker ps -a             --查询容器的id
docker rm 88ec131c4c4e   --删除容器
docker images            --查询镜像
docker rmi 4e5021d210f6  --删除镜像(如果前面命令删除不了,可以用这个docker rmi -f image_ID )

IDEA整合Docker实现一键部署及处理远程连接导致的问题_第9张图片

到这里其实还没有结束,因为阿里云服务器开放了docker默认端口2375,所以需要关掉端口,否则ubuntu镜像还会拉取启动的

话说,使用docker沦为矿机这样的情况好像还挺多的,这些镜像隐藏了虚拟币矿机,并通过Docker Hub装到了你的Docker里。

3.自动化扫描漏洞

Snyk是Google、Salesforce、Intuit和Atlassian等公司开发人员使用的安全扫描平台,它会自动发现你依赖包中的安全漏洞。

官方或已验证的发布者提供的镜像也不可能完全避免没有漏洞,集成 Snyk 后可以帮助我们检测隐藏在任何镜像或代码中的任何威胁。同时,它还能为我们提供镜像的修复建议,甚至能够识别出引入的漏洞具体在 Dockerfile 文件的哪一行。

IDEA整合Docker实现一键部署及处理远程连接导致的问题_第10张图片

总结

以上就是今天要讲的内容,本文简单介绍了idea整合docker的步骤,也遇到了docker 开启远程连接的风险。
注:在正式生产环境应该谨慎使用docker的远程连接

⭕关注博主,不迷路 ⭕

创作不易,关注、点赞、收藏就是对作者最大的鼓励,欢迎在下方评论留言

你可能感兴趣的:(Linux,问题记录,docker,intellij-idea,容器,云原生)