idea集成docker,idea操作docker的build、push


一、idea安装docker插件

新版本idea已经默认集成idea插件,旧版本还需手动安装插件(settings-plugins,搜索“docker”,安装即可)。

idea集成docker,idea操作docker的build、push_idea集成docker

二、配置docker插件

依次点击“File-settings-Build,Execution,Deyloyment-Docker”

如下图

idea集成docker,idea操作docker的build、push_ieda构建docker_02

点击中间的+来新增一个Docker配置

Name:随便起一个

Engine API URL:这个是自己虚拟机ip:2375

如果连接成功,下面会出现Connection successful。

着重说下Engine API URL

寻找一个linux虚拟机或云服务器

安装docker :

  1. 安装docker
yum -y install docker

idea集成docker,idea操作docker的build、push_idea build和push_03

  1. 安装成功后,修改docker国内镜像方法
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://xuv622op.mirror.aliyuncs.com"]
}
  1. 编辑docker.service
vim /usr/lib/systemd/system/docker.service
#在 ExecStart=/usr/bin/dockerd-current 后 增加
-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

增加后的文件如下图

idea集成docker,idea操作docker的build、push_idea集成docker_04

4. 启动docker

systemctl start docker
  1. 开放防火墙2375端口
    云服务开放端口需要配置安全组;
    虚拟机配置防火墙
firewall-cmd --zone=public --add-port=5672/tcp --permanent   # 开放5672端口
firewall-cmd --reload # 配置立即生效
  1. docker插件连接linux的docker端口,下方出现Connection successful即成功。
    idea集成docker,idea操作docker的build、push_idea推送docker_05
三、SpringBoot配置pom.xml
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!--远程Docker的地址-->
<imageName>local_docker/${project.artifactId}</imageName>
<!-- 镜像版本-->
<imageTags>
<imageTag>1.3</imageTag>
</imageTags>
<!--dockerFile地址-->
<dockerDirectory>src/main/docker</dockerDirectory>
<!--指定远程 docker api地址-->
<dockerHost>http://192.168.23.128:2375</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>

然后再src-main 下创建一个目录未docker

直接创建文件 ,文件名为Dockerfile

FROM java:8
ADD demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]
四、docker Build

接下来maven install 项目,重新import maven changes,找到下方docker插件,点击docker-docker:build

idea集成docker,idea操作docker的build、push_idea集成docker_06

打印控制台出现

Step 1/3 : FROM java:8
---> d23bdf5b1b1b
Step 2/3 : ADD demo-0.0.1-SNAPSHOT.jar app.jar
---> Using cache
---> 5427582d22fe
Step 3/3 : ENTRYPOINT java -jar app.jar
---> Using cache
---> b10bb93331bb
Successfully built b10bb93331bb
[INFO] Built local_docker/demo
[INFO] Tagging local_docker/demo with 1.3
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.389 s
[INFO] Finished at: 2020-12-10T12:11:02+08:00
[INFO] Final Memory: 32M/325M
[INFO] ------------------------------------------------------------------------

镜像build成功。可以进入虚拟机,运行命令会发现

[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/java 8 d23bdf5b1b1b 3 years ago 643 MB
[root@localhost ~]# clear
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
local_docker/demo 1.3 32856c13d63b 6 seconds ago 660 MB
local_docker/demo latest 32856c13d63b 6 seconds ago 660 MB
docker.io/java 8 d23bdf5b1b1b 3 years ago 643 MB
[root@localhost ~]#

以上docker build完成

五、idea 使用docker push
  • 创建一个镜像仓库,这里使用阿里云镜像仓库
    注册并登录阿里云,搜索“容器镜像服务”
    点击下:
    idea集成docker,idea操作docker的build、push_ieda构建docker_07
    依次进入:镜像仓库–创建镜像仓库
    创建命名空间和仓库名称,下一步
    idea集成docker,idea操作docker的build、push_ieda构建docker_08
    选择本地仓库:
    idea集成docker,idea操作docker的build、push_ieda构建docker_09
    IDEA依次打开VIEW - Tool Windows - Services
    idea集成docker,idea操作docker的build、push_idea build和push_10
    这里展示所连接虚拟机的本机镜像
    可以右键镜像,选择push
    idea集成docker,idea操作docker的build、push_idea build和push_11
    选择new然后添加镜像托管,输入用户名和密码后下方会显示连接成功。
    idea集成docker,idea操作docker的build、push_idea build和push_12
    下方Reposiotory输入 命名而空间/仓库名称
    Tag输入版本号,点击OK即可,push。
    idea集成docker,idea操作docker的build、push_idea推送docker_13