【spring cloud】【docker】使用docker在centOS上部署spring cloud微服务架构服务
==================================================================================
部署过程:
1.首先修改centOS的hosts文件
vi /etc/hosts
增加以下内容
127.0.0.1 centos7
192.168.92.130 centos7
2.修改本机hosts文件
路径如下:
C:\Windows\System32\drivers\etc\hosts
增加如下内容:
192.168.92.130 centos7
这样,启动在服务器上的服务,也就是192.168.92.130服务器上的服务就可以通过http://centos7:port/ 来进行访问了。
3.为服务需要的基础环境作准备
本组spring cloud服务需要redis和mysql作为支持。
docker run -p 3306:3306 --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=root -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro -d mysql:5.7
docker run --name redis4SXD -p 6379:6379 -d --restart=always redis:4.0.8 redis-server --appendonly yes --requirepass "398023"
4.为springcloud项目创建目录,并为各个服务创建目录
创建各个module的子级目录
5.为每个需要独立运行的微服务增加application-pro.properties配置文件
增加的application-pro.properties配置文件是用于在生产环境使用的配置,详细内容查看GitHub
6.打包spring cloud项目,获取到各个微服务的可运行jar包
随后拷出均以服务器上各个服务目录重命名jar包
并依次上传至服务器上不同对应的目录中【上传命令使用rz】
7.逐个完善各个目录下的Dockerfile文件
各个目录下的Dockerfile,用于和jar包组合构建微服务的docker镜像使用。
使用命令
vi Dockerfile
填充文件内容如下:
FROM java:8
ADD ms-eureka.jar ms-eureka.jar
RUN bash -c 'touch /ms-eureka.jar'
ENV SPRING-CLOUD-MS-NAME ms-eureka
ENV SPRING-CLOUD-HOSTNAME centos7
ENV TX-MANAGER-URL http://centos7:7000/tx/manager/
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Xmx1024m","-Xms1024m","/ms-eureka.jar"]
各个服务的Dockerfile文件内容,在GItHub上,各个服务的resource目录下的Dockerfile中可以查看
8.分别使用命令构建镜像,启动docker容器
构建镜像
docker build -t ms-eureka .
启动docker容器
docker run --name ms-eureka -itd --net=host -m 2g \
-v /apps/springcloud/ms-eureka/paking_data:/paking_data \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
ms-eureka --spring.profiles.active=pro
完整启动命令参考GitHub上,各个服务resource下的docker-order文件内容