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 访问

posted @ 2018-07-07 14:38  张建斌  阅读(6060)  评论(0编辑  收藏  举报