IDEA 使用插件连接远程 Docker (Dockerfile)

IDEA 使用插件连接远程 Docker

测试地址

https://github.com/Rain-with-me/JavaStudyCode/tree/main/2-springboot-docker



插件使用

  • 下载插件

image-20220907095717369



依赖

  • 版本

    <properties>
            <java.version>1.8</java.version>
            <docker.host>http://192.168.80.80:2375</docker.host>
            <docker.maven.plugin.version>0.40.0</docker.maven.plugin.version>
     </properties>
    
  • 插件

 <plugin>
                <groupId>io.fabric8</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>${docker.maven.plugin.version}</version>
                <!--                <executions>-->
                <!--                    &lt;!&ndash;如果想在项目打包时构建镜像添加&ndash;&gt;-->
                <!--                    <execution>-->
                <!--                        <id>build-image</id>-->
                <!--                        <phase>package</phase>-->
                <!--                        <goals>-->
                <!--                            <goal>build</goal>-->
                <!--                        </goals>-->
                <!--                    </execution>-->
                <!--                </executions>-->
                <configuration>
                    <!-- Docker 远程管理地址-->
                    <dockerHost>${docker.host}</dockerHost>
                    <images>
                        <image>
                            <!--定义镜像名称-->
                            <name>mall-tiny/${project.name}:${project.version}</name>
                            <!--定义镜像构建行为-->
                            <build>
                                <!--定义基础镜像-->
                                <from>java:8</from>
                                <args>
                                    <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
                                </args>
                                <!--定义哪些文件拷贝到容器中-->
                                <assembly>
                                    <!--定义拷贝到容器的目录-->
                                    <targetDir>/</targetDir>
                                    <!--只拷贝生成的jar包-->
                                    <descriptorRef>artifact</descriptorRef>
                                </assembly>
                                <!--定义容器启动命令-->
                                <entryPoint>["java", "-jar","/${project.build.finalName}.jar"]</entryPoint>
                                <!--定义维护者-->
                                <maintainer>macrozheng</maintainer>
                            </build>
                        </image>
                    </images>
                </configuration>
            </plugin>



Dockerfile 部署项目

  • IDEA 使用插件

登录远程主机,更改 Docker 配置

## 修改docker服务文件
vi  /lib/systemd/system/docker.service
 
## 将原来的ExecStart前面加上#号注释掉,然后再下面追加一行
ExecStart=/usr/bin/dockerd    -H tcp://0.0.0.0:2375    -H unix:///var/run/docker.sock
 
## 重新加载配置
systemctl daemon-reload
 
## 重启docker服务
systemctl restart docker.service

image-20220907095923620



  • 打开IDEA底部的Services面板,双击 Docker 图标进行连接,可以对远程服务器上的Docker容器和镜像进行管理


image-20220907100200859

  • 随便搞个小 Demo 测试即可

注意:java:8 已经被弃用


image-20220907102057256

  • 创建 Dockerfile
# 该镜像需要依赖的基础镜像
FROM openjdk:8
# 将当前目录下的jar包复制到docker容器的/目录下
COPY ./demo-0.0.1-SNAPSHOT.jar /test/demo-0.0.1-SNAPSHOT.jar
# 声明服务运行在8080端口
EXPOSE 8080
# 指定docker容器启动时运行jar包
ENTRYPOINT ["java", "-jar","/test/demo-0.0.1-SNAPSHOT.jar"]
# 指定维护者的名字
MAINTAINER haha

  • 打开配置,记得配置下面设置,不然无法访问

image-20220907102207043



image-20220907102244285

  • 配置成功的样子


image-20220907102300392

  • 运行之后更改下面的配置,然后执行配置即可


image-20220907114205441

可以参考:


img

也可以去参考 mall 的配置


img

对照下之前使用的docker run命令,大概就能知道这些配置的作用了;

docker run -p 8080:8080 --name mall-tiny \
--link mysql:db \
--link redis:redis \
-e 'spring.profiles.active'=prod \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/mall-tiny/logs:/var/logs \
-d mall-tiny/mall-tiny:1.0.0-SNAPSHOT
  • 查看日志,成功就可以直接访问


image-20220907145623648

docker logs 容器



Docker Compose 部署


  • 这玩意有点玄学,有时就报错,重启即可


  • IDEA 找到 docker-compose.exe 文件


image-20220907153659999

posted @ 2022-09-08 12:46  雨同我  阅读(1448)  评论(0编辑  收藏  举报