idea使用docker远程部署springboot

博客地址原文

0x001 准备工作

阿里云Ubuntu16.04

Docker version 19.03.3, build a872fc2

IntelliJ IDEA 2019.3.1 x64

0x002 配置Docker,开启远程

  1. 开启docker远程访问端口(可任意,默认2375),为了安全起见我们开启4243端口

    # vim /lib/systemd/system/docker.service
    

    ExecStart后面追加-H tcp://0.0.0.0:4243,如图:

    idea使用docker远程部署springboot_第1张图片

  2. 重新加载配置文件,重启docker

    systemctl daemon-reload
    
    systemctl start docker
    
  3. 检查是否开启

    # curl http://127.0.0.1:4243/info
    

    有返回说明开启成功:

    idea使用docker远程部署springboot_第2张图片

  4. 配置阿里云安全组规则,设置防火墙允许4243端口

    # ufw allow 4243
    

0x003 项目配置

  1. idea连接docker,连接成功左下方显示Connection successful

    idea使用docker远程部署springboot_第3张图片

  2. Springboot项目中添加docker-maven-plugin插件

    <plugin>
        <groupId>com.spotifygroupId>
        <artifactId>docker-maven-pluginartifactId>
        <version>1.0.0version>
    
        
        <executions>
            <execution>
                <id>build-imageid>
                
                <phase>packagephase>
                <goals>
                    <goal>buildgoal>
                goals>
            execution>
        executions>
    
        <configuration>
            
            <imageName>nullok/${project.artifactId}imageName>
            
            <imageTags>
                <imageTag>latestimageTag>
            imageTags>
            
            <dockerDirectory>${project.basedir}/src/main/dockerdockerDirectory>
    
            
            <dockerHost>http://xxxxxxx:4243dockerHost>
    
            
            <resources>
                <resource>
                    <targetPath>/targetPath>
                    
                    <directory>${project.build.directory}directory>
                    
                    <include>${project.build.finalName}.jarinclude>
                resource>
            resources>
        configuration>
    plugin>
    
    1. 创建docker文件夹和Dockerfile文件,Dockerfile文件位置就是${project.basedir}/src/main/docker指定的位置

      idea使用docker远程部署springboot_第4张图片

      Dockerfile文件内容

      FROM java:8u111 # 选择jdk
      VOLUME /tmp
      ADD target目录下打包生成的jar包的名字.jar app.jar
      RUN bash -c 'touch /app.jar'
      EXPOSE 8080 # server.port
      ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]
      
    2. 在idea的右边找到Maven Projects,找到Lifecycle,双击package打包

      打包成功之后会在images中看到在配置文件中指定的镜像名

      idea使用docker远程部署springboot_第5张图片

    3. 创建容器,选中刚生成的镜像,右键点击create container

      如下配置:

      idea使用docker远程部署springboot_第6张图片

    4. 运行成功,会看到如下界面,在左侧containers中会出现自己创建的容器而右侧就是我们熟悉的界面了。

    idea使用docker远程部署springboot_第7张图片

你可能感兴趣的:(springboot,docker)