其他分享
首页 > 其他分享> > IDEA 使用插件连接远程 Docker (Dockerfile)

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

作者:互联网

IDEA 使用插件连接远程 Docker

测试地址

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



插件使用

image-20220907095717369



依赖

 <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 部署项目

登录远程主机,更改 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



image-20220907100200859

注意:java:8 已经被弃用


image-20220907102057256

# 该镜像需要依赖的基础镜像
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 部署


image-20220907153659999

标签:插件,--,jar,IDEA,mall,docker,Docker
来源: https://www.cnblogs.com/rain-me/p/16669044.html