> 文章列表 > idea 配置docker 进行上传镜像,部署启动容器

idea 配置docker 进行上传镜像,部署启动容器

idea 配置docker 进行上传镜像,部署启动容器

前言

 

在我们开发测试过程中,需要频繁的更新docker镜像,然而默认情况下,docker的2375端口是关闭的,下面介绍如何打开端口。

  1. 修改docker配置文件 操作步骤

1.1、修改配置

登录docker所在服务器,修改docker.service文件

/usr/lib/systemd/system/docker.service  目录下 编辑 docker.service  文件

搜索 ExecStart= 找到下面的配置进行修改

修改如下内容:将

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

改为:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

1.2 重启服务

最后重新加载服务的配置文件和重启docker服务:

systemctl daemon-reload

systemctl restart docker

这样配置后,Docker私有仓库就会在2375端口上运行,可以使用2375端口来进行远程操作。

2 、Idea 安装docker 插件

2.1 在idea 下载安装docker

在setting->plugins->搜索docker 进行安装

2.2配置docker地址:

Tcp socker  配置:tcp://ip:2375

 

3、创建docker文件夹和Dockerfile文件,dockersrc同级

Dockerfile 内容:

index-service 实例:

FROM  openjdk:8-jdk
ENV LANG C.UTF-8
ENV LANGUAGE zh_CN.UTF-8
ENV LC_ALL C.UTF-8
RUN rm -f /etc/localtime \\
    && ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \\
    && echo "Asia/Shanghai" > /etc/timezone

ADD /index-service.jar /app.jar
EXPOSE 8199
CMD ["java","-Dfile.encoding=UTF-8","-Dsun.jnu.encoding=UTF-8","-jar","/app.jar"]

4、Pom.Xml 文件增加相关依赖: 在Build中 ,例如:

<build>
  <finalName>index-service</finalName>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
        <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
        <jvmArguments>
          -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
        </jvmArguments>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.18.1</version>
      <configuration>
        <skipTests>true</skipTests>
      </configuration>
    </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>${project.artifactId}</imageName>
        <!--指定标签-->
        <imageTags>
          <imageTag>latest</imageTag>
        </imageTags>
        <!-- 指定 Dockerfile 路径-->
        <dockerDirectory>${basedir}/docker</dockerDirectory>
        <!--指定远程 docker api地址-->
        <dockerHost>http://192.168.3.240:2375</dockerHost>
        <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
        <resources>
          <resource>
            <targetPath>/</targetPath>
            <!--jar 包所在的路径 此处配置的 即对应 target 目录-->
            <directory>${project.build.directory}</directory>
            <!-- 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
            <include>${project.build.finalName}.jar</include>
            <include>classes/page/</include>
          </resource>
        </resources>
      </configuration>
    </plugin>
  </plugins>
  <resources>
    <resource>
      <directory>src/main/java</directory>
      <includes>
        <include>**/*.xml</include>
      </includes>
    </resource>
    <resource>
      <directory>src/main/resources</directory>
      <includes>
        <include>**/*.*</include>
      </includes>
    </resource>
  </resources>
</build>

5、在idea的右边找到Maven Projects,找到Lifecycle,双击package打包,第一次打包比较慢,需要安静等待

 

  1. 等打包成功后,会生成镜像。在docker中找到images 点击打开 ,找到自己服务的镜像,例如 index-service:latest

  1. 使用镜像创建容器,然后启动: 右键 镜像 点击 create  container (创建容器) ,进行容器创建 ,创建完可以点击下方的 run(启动) 按键 直接进行启动

                    

 

  1. 可以在容器中进行管理操作,在docker中找到container 点击打开 找到自己的容器 右键 ,可以进行启动  启动 、 停止 、 编辑等

9、启动后可以在 docker 中查看自己的服务