Rancher+Docker实现SpringCloud容器部署
运行第一个Docker容器
首先要在电脑上安装docker,在windows上运行docker可能出现的常见问题解决方法:解决点击Docker出现windows 正在查找bash.exe。下面以windows操作系统为例,以docker方式运行eureka项目。
1.在项目根目录创建Dockerfile文件
FROM hub.c.163.com/library/java:8-alpine 从网易云镜像中心获取java镜像
ADD target/*.jar app.jar 添加target目录下生成的项目jar包到容器中并且重命名为app.jar
EXPOSE 8761 声明端口 8761
ENTRYPOINT ["java","-jar","/app.jar"] 以java -jar的方式运行
2.创建docker镜像
(1)构建java应用:mvn clean package -Dmaven.test.skip=true
(2)构建docker镜像:docker build -t springcloud/eureka .(这里的点表示当前路径)
(3)启动:docker run -p 8761:8761 -d springcloud/eureka
3.访问项目
如果想要运行多个eureka实例,可以在docker里面执行
docker run -p (想要运行的端口):8761 -d springcloud/eureka
就可以通过ip:端口的方式来访问项目。
注:如果想要别人使用你的镜像,就可以将本地镜像推送到镜像中心,网易云、腾讯云等都有提供相应的镜像仓库服务,并有详细的如何推送镜像的教程,并且要将镜像设置为公开。
Rancher
rancher官网
rancher中文站点
Rancher是一个开源的企业级全栈化容器部署及管理平台,简单的说就是为了更加方便的管理docker。官网上说明了使用rancher的要求和步骤,在这里我使用的腾讯云的云服务器CentOS 7.4 64位 (记为服务器A)。
1.在服务器A上安装docker
在centos服务器上安装docker:yum install docker
启动docker:systemctl start docker
查看docker信息 : docker info
查看docker版本: docker version
2.安装rancher
rancher-server非常大(1GB左右),如果直接执行安装语句的话,在服务器A上下载会非常慢,可以先配置一个加速地址。
修改文件vim /etc/docker/daemon.json
添加如下内容:{"registry-mirrors": ["https://fy707np5.mirror.aliyuncs.com"]}
保存之后执行
systemctl daemon-reload
systemctl restart docker
然后执行安装命令
sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable
执行成功之后就可以通服务器A的ip:8080 来访问(注意要开启对应端口的防火墙和安全组)
访问的界面如图所示,需要添加主机:
3.添加主机
保存当前站点
添加主机,这里使用了同学的腾讯云服务器(记为服务器B)。
在服务器B上安装docker,启动docker之后执行第5点里面的脚本在主机上注册rancher,会在服务器B上安装rancher-agent,在服务器B上成功安装rancher-agent之后显示如下信息:
安装成功之后点击第6点的关闭按钮。在主机界面显示如下: