准备工作
服务端准备
首先我们需要一台远程的安装了docker的CentOS服务器(其他Linux服务器的操作区别不大),课参考我的文章:https://blog.csdn.net/m0_51510236/article/details/115054073
开发环境准备
你需要一个 2022.*.* 版本的 jetbrains 工具,本次演示我们使用 idea,其他开发工具操作步骤大同小异,下面是我这次使用到的idea版本(版本不通操作步骤大致一样,操作步骤不一样欢迎分享讨论)
整合远程服务器的步骤
配置步骤分为两个部分,一个是服务端的,另一个是客户端的
服务端配置
我们需要修改 /usr/lib/systemd/system/docker.service 需要修改以下内容:
新增的这一行,端口 2375 是默认端口,可以修改:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
保存并重启 docker:
systemctl restart docker
然后暴露端口或关闭防火墙:
# 暴露端口 firewall-cmd --zone=public --add-port=2375/tcp --permanent firewall-cmd --reload # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld
客户端配置
点击左上角 File -> Settings 或使用快捷键 Ctrl+Alt+S
然后在 Plugins 里面注意安装 docker 插件,一般安装 jetbrains 软件的时候都会自带,但最好检查一下
然后来到 Build, Execution, Deployment -> Docker 界面,点击左上角的 + 新增一个 Docker
按照我下面的提示新增一个 Docker 连接:
然后点击右下角的 Apply,如果我们需要将镜像推送到远程的镜像服务器,那么你还需要在Docker下面新增一个 Docker Registry ,Docker Registry 可以连接你的 Harbor 或者是你其他的 Docker 镜像服务器(包括Docker官方的镜像服务器),以下是 Jetbrains 给我们内置的一些Docker仓库地址:
为了方便演示推送至私有docker服务器,这次演示我们使用阿里云的镜像服务器:容器镜像服务(个人版本目前是免费的哦2022-10-25),使用方法可参考阿里云的文档,新建一个DockerRegistry:
服务器地址的获取可在阿里云上查询(如果是Harbor,也可在Harbor里面查询):
然后我们可以在idea的Service当中看到我们的Docker运行的操作选项:
如果Service选项卡没有出来,那么我们可以按照以下步骤将他调出来,依次点击以下按钮即可:
然后我们甚至可以远程操作Docker进行一些操作,因为内容太多我就不一个个展示了:
接下来我们新建一个可以部署Java项目的Dockerfile,具体步骤可以参考我编写的文章:https://blog.csdn.net/m0_51510236/article/details/122700574
我们来设置以下这个Dockerfile的配置:
按照以下提示配置一下内容:
tag的名称你依然要和阿里云保持一致:
我们直接点击构建镜像:
我们可以查看结果(会需要一点时间):
我们可以右击镜像然后选择push image将镜像推送到docker镜像仓库:
然后填写自己的仓库地址:
注意Repository是仓库地址除了Namespace的部分,Tag就是镜像版本号:
然后我们可以查看我们推送完的镜像:
好了,idea整合远程CentOS7上的docker完成了,如果版本不一样,欢迎评论讨论