idea集合docker實現鏡像打包一鍵部署

一.服務器安裝docker

yum install docker

修改配置文件,打開2375端口

[root@microservice ~]# vim /usr/lib/systemd/system/docker.service

在ExecStart=/usr/bin/dockerd-current 後面加上-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \
重新加載配置文件和啟動:

systemctl daemon-reload
systemctl start docker

附:docker操作相關命令

systemctl命令是系統服務管理器指令,它是 service 和 chkconfig 兩個命令組合。
啟動docker:systemctl start docker
停止docker:systemctl stop docker
重啟docker:systemctl restart docker
查看docker狀態:systemctl status docker
開機啟動:systemctl enable docker

二、Idea安裝docker支持插件及配置

1.idea下載docker支持插件:Docker integration

(快捷鍵Crtl+shift+A   搜索Docker integration  ,然後啟用,重啟idea生效)

2.IDEA Docker插件配置

File–>Settings–>Build,Execution,Deployment–>Docker–>進行如下配置:

tcp://服務器ip地址:2375

註意: 隻要下面提示Connection successfl 就表示連接成功瞭; 

 3.配置pom文件:

<build>
  <finalName>${project.artifactId}</finalName>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
        <fork>true</fork>
      </configuration>
    </plugin>
    <!-- 跳過單元測試 -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <skipTests>true</skipTests>
      </configuration>
    </plugin>
    <!--使用docker-maven-plugin插件-->
    <plugin>
      <groupId>com.spotify</groupId>
      <artifactId>docker-maven-plugin</artifactId>
      <version>1.0.0</version>
      <!--將插件綁定在某個phase執行-->
      <executions>
        <execution>
          <id>build-image</id>
          <!--用戶隻需執行mvn package ,就會自動執行mvn docker:build-->
          <phase>package</phase>
          <goals>
            <goal>build</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <!--指定生成的鏡像名-->
        <imageName>fred/${project.artifactId}</imageName>
        <!--指定標簽-->
        <imageTags>
          <imageTag>latest</imageTag>
        </imageTags>
        <!-- 指定 Dockerfile 路徑-->
        <dockerDirectory>src/main/docker</dockerDirectory>
        <!--指定遠程 docker api地址-->
        <dockerHost>http://服務器ip地址: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>
</build>

附項目目錄結構:

四、根目錄下編寫Dockerfile

# Dockerfile
# 基於的鏡像
FROM openjdk:8-jdk-alpine
 
VOLUME /opt/tmp
 
ADD sg-business.jar app.jar
 
# -Djava.security.egd=file:/dev/./urandom 可解決tomcat可能啟動慢的問題
# 具體可查看:https://www.cnblogs.com/mightyvincent/p/7685310.html
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
 
# 對外端口
EXPOSE 8081

五、點擊maven的package進行構建

構建成功的信息

六、點擊最下面的docker到docker界面,雙擊docker連上服務器docker會顯示出服務器上的docker鏡像,找到剛剛生成的鏡像(圖中2),點擊創建容器

七.配置docker 容器對外暴露端口和項目接口端口,然後run啟動容器

最後,設置好後,啟動容器,啟動成功後去阿裡雲查看是否啟動成功

參考博客地址:

https://www.jianshu.com/p/186e9926600e

https://blog.lqdev.cn/2018/07/27/springboot/chapter-fourteen/

https://www.cnblogs.com/fangts/p/10299431.html

到此這篇關於idea集合docker實現鏡像打包一鍵部署的文章就介紹到這瞭,更多相關idea集合docker實現鏡像打包一鍵部署內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: