Intellij IDEA快速实现Docker镜像部署

0.参考资料

Intellij IDEA快速实现Docker镜像部署

1.Docker开启远程访问

[root@izwz9eftauv7x69f5jvi96z docker]# vim /lib/systemd/system/docker.service
#修改ExecStart这行
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock

输入图片说明

2.重启docker服务

#重新加载配置文件
[root@izwz9eftauv7x69f5jvi96z docker]# systemctl daemon-reload    
#重启服务
[root@izwz9eftauv7x69f5jvi96z docker]# systemctl restart docker.service 
#查看端口是否开启
[root@izwz9eftauv7x69f5jvi96z docker]# netstat -nlpt
#直接curl看是否生效
[root@izwz9eftauv7x69f5jvi96z docker]# curl http://127.0.0.1:2375/info

输入图片说明

3.Intellij IDEA安装Docker插件

  • 打开Idea,从File->Settings->Plugins->Install JetBrains plugin进入插件安装界面,在搜索框中输入docker,可以看到Docker integration,点击右边的Install按钮进行安装。安装后重启Idea。
    输入图片说明
  • 重启后配置docker,连接到远程docker服务。从File->Settings->Build,Execution,Deployment->Docker打开配置界面。
    输入图片说明

4.spring boot服务Docker部署

  • 4.1新建一个Spring boot工程,编写测试接口

输入图片说明

  • 4.2修改pom文件,添加properties,添加plugin
<properties>
        <java.version>1.8</java.version>
        <docker.image.prefix>xlauch</docker.image.prefix>
    </properties>
<build>
        <finalName>springboot-docker</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.1</version>
                <configuration>
                    <!--指定生成的镜像名-->
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <!--指定标签-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <!-- 表示项目根目录,即包含pom.xml文件的目录-->
                    <!-- 指定 Dockerfile 路径  ${project.basedir}:项目根路径下-->
                    <dockerDirectory>${project.basedir}</dockerDirectory>

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

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

                    <!-- 以下两行是为了docker push到DockerHub使用的。 -->
                    <!--
                        <serverId>docker-hub</serverId>
                        <registryUrl>https://index.docker.io/v1</registryUrl>
                        -->
                </configuration>
            </plugin>
        </plugins>
    </build>
  • 4.3配置Dockerfile文件:在工程根目录下新建Dockerfile文件
FROM java:8
VOLUME /tmp
COPY target/demo-0.0.1-SNAPSHOT.jar demo.jar
RUN bash -c "touch /demo.jar"
EXPOSE 8080
ENTRYPOINT ["java","-jar","demo.jar"]

5.创建Docker镜像

  1. 将工程打包,在idea Terminal中执行mvn clean package命令进行编译打包,打包后会在target目录下生成jar包。
  2. 生成jar包后,可以在本地启动服务,进行测试。测试后,配置docker镜像制件命令。从Run->Edit Configrations进入配置界面。
  3. 点击Docker,再点击+号,添加一个docker命令,输入Name,选择Server,选择Dockerfile文件,输入镜像tag,完成配置
    输入图片说明

1.完成后,执行这个命令

输入图片说明

1.执行成功后,可以远程docker上看到这个镜像:
输入图片说明

1.执行docker ps可以看到,镜像已经生产容器开始运行:
输入图片说明

1.打开浏览器,访问测试:

输入图片说明

Last Updated: 2022/01/05 09:55:55
docker 安装nacos 2.0.3 centos7 配置QQ邮箱发送邮件
OωO 取消
  • |´・ω・)ノ
  • ヾ(≧∇≦*)ゝ
  • (☆ω☆)
  • (╯‵□′)
  •  ̄﹃ ̄
  • (/ω\)
  • →_→
  • (ノ°ο°)ノ
  • ⌇●﹏●⌇
  • (ฅ´ω`ฅ)
  • φ( ̄∇ ̄o)
  • ヾ(´・ ・`。)ノ"
  • (ó﹏ò。)
  • Σ(っ °Д °;)っ
  • ( ,,´・ω・)ノ
  • ╮(╯▽╰)╭
  • (。•ˇ‸ˇ•。)
  • >﹏<
  • ( ๑´•ω•)
  • "(´っω・`。)
  • "(ㆆᴗㆆ)