当前位置:   article > 正文

IDEA连接Docker部署微服务项目至阿里云服务器流程_idea dcoker插件连接 阿里云仓库

idea dcoker插件连接 阿里云仓库

IDEA连接Docker部署微服务项目至阿里云服务器流程

背景:阿里云服务器,使用IDEA,并且配置好docker-maven插件

  1. 服务器安装Docker,并开放连接端口

  2. 阿里云开放安全组2375端口,并设置ip限制

  3. IDEA首先需要连接Docker,file -> settings -> 搜索Docker
    在这里插入图片描述

  4. parent工程配置pom插件

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
                <configuration>
                    <!-- 默认关掉单元测试,不用手动关闭了 -->
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
        </plugins>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  1. 子项目服务配置插件和docker连接,只需要修改ip和端口
<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <!-- 指定该 Main Class 为全局的唯一入口 -->
            <mainClass>com.dorking.eureka.EurekaApplication</mainClass>
            <layout>ZIP</layout>
        </configuration>
        <executions>
            <execution>
                <goals>
                    <!-- 将依赖到的包都放进去 -->
                    <goal>repackage</goal>
                </goals>
            </execution>
        </executions>
    </plugin>


    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>0.4.13</version>
        <configuration>
            <imageName>${project.artifactId}</imageName>
            <baseImage>openjdk:8-jdk-alpine</baseImage>
            <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
            <resources>
                <resource>
                    <targetPath>/</targetPath>
                    <directory>${project.build.directory}
                    </directory>
                    <include>${project.build.finalName}.jar</include>
                </resource>
            </resources>
            <dockerHost>http://<!--ip-->:<!--port--></dockerHost>
        </configuration>
    </plugin>
</plugins>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  1. 点击右边maven 的parent 执行clean命令 然后执行package,将所有微服务打包
  2. 分别对每一个微服务点击右侧插件栏创建镜像

在这里插入图片描述

  1. 下载Docker for windows 用于执行docker-compose.yml文件,远程推送镜像

  2. 在服务的父工程目录下新建docker-compose.yml文件,并对服务进行线上的配置

# compose版本
version: '3' 

# 定义服务
services:

# 服务名称
  redis:
  	# 镜像名称
    image: redis
    # 容器名称
    container_name: redis
    # 需要映射的端口,多个往下排列
    ports:
      - 6379:6379
      - xxxx:xxxx
     # 需要在容器运行后,内部执行的命令
    command: redis-server --requirepass 123456
  eureka:
    image: eureka
    container_name: eureka
    # 当容器意外停止时,总是重启
    restart: always
    # 指定时区
    environment:
      TZ: Asia/Shanghai
    ports:
      - '6868:6868'
    deploy:
      resources:
        limits:
          # 容器内存上限400M
          memory: 400M
    # 从属网络
    networks:
      - back
# 自定义一个网络,使它们在同一网络
networks:
  back:
    driver: bridge

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  1. 定义完之后,会出现按钮,点击即可(前提配置)启动创建好的镜像

  2. 使用Docker命令 docker ps 可以查看服务已经运行中

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/880780
推荐阅读
相关标签
  

闽ICP备14008679号