zoukankan      html  css  js  c++  java
  • 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 访问

  • 相关阅读:
    JqGrid在IE8中表头不能分组的解决办法
    Task 异步小技巧
    封装好的socket,拿去用
    反射 实现不同模型相同属性赋值 第二集(automapper)
    .net破解二(修改dll)
    .net破解一(反编译,反混淆-剥壳)
    c/s 自动升级(WebService)
    反射实现不同模型相同属性赋值
    row_number() over()分页查询
    SQL函数
  • 原文地址:https://www.cnblogs.com/zhangjianbin/p/9277229.html
Copyright © 2011-2022 走看看