首先交代下项目背景
整体架构设计如下图,一个eureka注册中心,一个网关,一个用户系统提供鉴权、登录等用户相关接口,以及其他业务系统。
eureka和gateway代码量少,采用了单module结构,业务系统采用多module结构(为什么介绍这个呢,因为打包等会麻烦一点)。
楼主的整个docker体验流程大概分为几部分:1、win10安装 2、项目改造(dockerFile、pom配置)3、idea的docker插件启动docker,制作镜像 4、linux安装docker(阿里云) 5、本地镜像上传阿里仓库 6、linux拉取镜像、启动
1、docker安装
win10下docker安装比较简单,不再累述。阿里云安装docker遇到点麻烦,就是报错:Requires: container-selinux >= 2.9,查了很多资料不得解,最后手动下载好container-selinux-2.9-4,安装时提示的缺少的所有的依赖包一个个通过yum install 安装(不要指定版本号),依赖包大致如下:audit-libs-python、checkpolicy、libcgroup、libseccomp、libsemanage-python、policycoreutils-python、python-IPy、setools-libs,挨个安装好后,container-seslinux安装成功,docker也安装成功。
2、项目集成docker
2.1、eureka的部署
对于单module项目比较简单,在src/main下建了一个docker文件夹,新建Dockerfile
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD demo-eureka.jar eureka.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/eureka.jar"]
EXPOSE 8000
在pom文件增加springboot的maven打包插件和docker插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.b