idea构建docker镜像并发布到服务器

idea构建docker镜像并发布到服务器

1.配置docker远程访问

docker安装见CentOS安装Docker并制造jdk8基础镜像

打开docker配置文件,修改ExecStart=/usr/bin/dockerd…这一行,添加:-H tcp://0.0.0.0:2375

# 打开docker配置
vim /usr/lib/systemd/system/docker.service
# 在ExecStart…行添加-H tcp://0.0.0.0:2375
# 刷新配置,重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
# 验证配置是否生效
# 注:如果服务器有防火墙,要将2375端口开放
curl http://localhost:info

2.idea配置

  1. idea下载docker插件。

  2. 配置docker插件

    这时idea底部就会出现一个services选项卡。

    找到刚才创建的Docker1,右键连接,这时就会连接到服务器上的docker环境,可以看到docker中的镜像列表和正在运行的containers列表,点击container右侧就会显示出运行日志、docker run 参数等信息。

3.配置项目

  1. 创建Dockerfile文件

    在项目根目录创建Dockerfile。

    注:jdk:1.8镜像请事先准备,或参考CentOS安装Docker并制造jdk8基础镜像

    FROM jdk:1.8
    VOLUME /tmp
    ADD target/test-1.0-SNAPSHOT.jar app.jar
    EXPOSE 9002
    ENTRYPOINT ["java","-jar","app.jar"]
    
  2. 配置项目pom文件

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <executions>
                    <execution>
                        <id>build-image</id>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <imageName>${project.artifactId}</imageName>
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <dockerDirectory>${project.basedir}</dockerDirectory>
                    <dockerHost>http://192.168.137.5:2375</dockerHost>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    到这里idea配置docker环境就已经配置好了,我们点击mvn package命令,就会直接把新包发布到docker服务器上。

5.注

  1. package打包前请先运行mvn clean清理命令,否则会打包失败。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章