服务打包成镜像

使用Docker打包注册中心,上传私有镜像仓库并部署

1、新增maven插件

                     <properties>

                        <docker.image.prefix>xdclass</docker.image.prefix>

                     </properties>

                     <build>

                            <finalName>docker-demo</finalName>

                         <plugins>

                             <plugin>

                                 <groupId>com.spotify</groupId>

                                 <artifactId>dockerfile-maven-plugin</artifactId>

                                 <version>1.3.6</version>

                                 <configuration>

                                     <repository>${docker.image.prefix}/${project.artifactId}</repository>

                                     <buildArgs>

                                         <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>

                                     </buildArgs>

                                 </configuration>

                             </plugin>

                         </plugins>

                     </build>

2、新建Dockerfile                    

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

3、打包:

                     mvn install dockerfile:build

    maven打包构建,会触发单元测试,部分情况可以跳过,

          mvn install -Dmaven.test.skip=true dockerfile:build

  #eureka的地址

eureka:
  client:
    serviceUrl:
      defaultZone: http://172.19.24.198:8761/eureka/
  instance:
    instance-id: ${spring.cloud.client.ip-address}:${server.port}
    prefer-ip-address: true

4、推送阿里云镜像仓库

       阿里云镜像仓库:https://dev.aliyun.com/search.html

docker tag 062d2ddf272a registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:eureka-v20180825

docker push registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:eureka-v20180825

docker pull registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:eureka-v20180825

5、查看日志 docker logs -f  containerid


配置中心


1、部署       rabbitmq: docker run -d -p 5672:5672 -p 15672:15672 rabbitmq:management

2、推送镜像

              docker tag 0f636543904e registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:config-server-v20180825

              docker push registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:config-server-v20180825

              docker pull registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:config-server-v20180825


docker start 容器id   进行启动


安装redis

1、搜索镜像 docker search redis

       2、拉取 docker pull docker.io/redis

       3、启动 docker run --name "xd_redis" -p 6379:6379 -d 4e8db158f18d

       参考:

       docker run --name "xd_redis" -p 6379:6379 -d 4e8db158f18d --requirepass "123456" -v $PWD/data:/data

-v 路径映射

$PWD 当前路径                 左边:右边

左边:本机(linux)

右边:docker中的映射路径

       4、访问redis容器里面,进行操作

              docker exec -it 295058d2b92e redis-cli

-it 交互模式

295058d2b92e  容器id

进去后启动redis-cli


生产环境部署常见问题,配置中心访问路径变化

       1、配置中心访问出错,路径不对

        解决:修改所有的注册中心,增加下面配置

           instance:

           instance-id: ${spring.cloud.client.ip-address}:${server.port}            

           prefer-ip-address: true

instanct-id:实例的组成

  prefer-ip-address: true   用ip进行显示

(注意:springcloud2.2之后要用中划线   -    )

之后的其他服务就可以通过这个进行信息的拉取

           docker tag 50a12cd66210 registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:config-server-v20180826


打包Docker镜像部署商品服务和订单服务、网关

          注意:

          1、maven打包构建,会触发单元测试,部分情况可以跳过,

          mvn install -Dmaven.test.skip=true dockerfile:build

          2、生产环境不能用localhost 或者 127.0.0.1, 一定要用内网通信ip (虚拟主机映射 hosts)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智达教育‍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值