idea集成docker实现自动发布项目

1、编辑docker配置文件

vim /lib/systemd/system/docker.service

2、替换ExecStart

#将
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
#替换为
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

3、防火墙开启2375端口


# 开放2375端口
firewall-cmd --zone=public --add-port=2375/tcp --permanent

4、重启防火墙并查询端口

firewall-cmd --reload
firewall-cmd --query-port=2375/tcp

5、测试是否成功开启远程访问

浏览器访问:http://docker服务器ip:2375/version

如果仍然不能访问请检测服务器安全组是否开启2375端口

6、IDEA中配置Docker

点击setup搜索docker

 

7、可以配置阿里云镜像加速服务

8、在pom.xm中配置Docker的Maven插件

<build>
        <finalName>gateway</finalName>
        <!--springboot打包插件-->
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!--使用docker-maven-plugin插件-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.2</version>

                <!--将插件绑定在某个phase执行-->
                <executions>
                    <execution>
                        <id>build-image</id>
                        <!--将插件绑定在package这个phase上。也就是说,
                        用户只需执行mvn package ,就会自动执行mvn docker:build-->
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>

                <configuration>
                    <!--指定生成的镜像名,这里是我们的项目名-->
                    <imageName>${project.artifactId}</imageName>
                    <!--指定标签 这里指定的是镜像的版本,我们默认版本是latest-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <!-- 指定我们项目中Dockerfile文件的路径-->
                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>

                    <!--指定远程docker 地址-->
                    <dockerHost>http://10.64.160.59:2375</dockerHost>

                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <!--jar包所在的路径  此处配置的即对应项目中target目录-->
                            <directory>${project.build.directory}</directory>
                            <!-- 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>

 9、Dockerfile信息需要自己编写,放到src/main/docker目录下

FROM java:8
ENV LANG C.UTF-8

VOLUME /tmp
ADD gateway.jar app.jar
EXPOSE 8003
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","-c"]

10、构建镜像和创建容器

构建完成我们就可以在servic里面的docker看到构建好的镜像文件

最后右击镜像进行创建容器,并执行

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值