idea docker 連接 linux 上的 docker


安裝插件

  1. Docker插件,首先需要在你的IDEA中安裝Docker插件,定位到File-Setting-Plugins后搜索Docker Integration安裝

  2. 配置Docker服務器,在IDEA中定位到File-Setting-build,Execution,Deployment-Docker

運行 idea 項目到 遠程 linux docker 上

  1. 編寫 Dockerfile 文件

  2. 添加 maven 依賴

        <build>
        <finalName>${project.artifactId}</finalName>
        <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.0.0</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>zhangjianbin1991/${project.artifactId}</imageName>
                    <!--指定標簽-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <!-- 指定 Dockerfile 路徑-->
                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                    
                     <!--指定遠程 docker api地址-->
                    <dockerHost>http://192.168.75.132: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>
    
    
  3. mvn 打包

如何遠程訪問docker REST API

Docker Remote API是指docker團隊為了遠程管理docker,允許通過unix socket通信操作Docker daemon,我們也可以通過HTTP調用其Rest API,完成容器的查詢,創建、銷毀等等操作。

開放docker端口,對與centos7下的做法是:
···
vi /etc/sysconfig/docker (過時了)

加上如下字段:
OPTIONS='--selinux-enabled -H unix://var/run/docker.sock -H tcp://0.0.0.0:2375'
···

···

重啟docker

systemctl daemon-reload
systemctl restart docker

查看端口號

netstat -nplt |grep 2375
···

通過curl和http來獲取docker的容器的相關信息

獲取當前容器信息

···
curl http://localhost:2375/containers/json
···

通過 http 訪問


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM