Nginx部署尝试
参考:https://blog.csdn.net/weixin_33825683/article/details/92978381
使用Docker Machine搭建Docker Swarm集群并部署nginx服务
docker-machine ssh swarmMng "docker service create --replicas 3 --name web_nginx -p 80:80 nginx "
或者先登录管理节点机器,然后再操作。
docker-machine ssh swarmMng
docker service create --replicas 3 --name web_nginx -p 80:80 nginx
docker service ps web_nginx
docker@swarmMng:~$ docker service ps web_nginx
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
g007nfyckil4 web_nginx.1 nginx:latest swarmNd2 Running Running 49 seconds ago
mxw31vgrsye0 web_nginx.2 nginx:latest swarmMng Running Running about a minute ago
b7jt15nfg1l8 web_nginx.3 nginx:latest swarmNd1 Running Running about a minute ago
docker@swarmMng:~$
在Docker-machine安装的机器上访问http://192.168.99.104/才能有界面,在Windows物理机上访问不到。估计是网络配置,需要再研究。
—解决办法:在Docker-machine安装的机器安装Nginx,然后配置反向代理到Swarm集群中的机器。Docker-machine创建虚拟机的IP动态的配置到主Nginx上,但是主Nginx机器存在性能瓶颈。这个需要再研究高可用和高性能的架构方案。
SpringBoot部署设计
一、采用通用镜像然后再往镜像上部署包。
docker pull openjdk 直接用docker-machine创建
如何编写挂载位置?
如何运行一个Shell脚本
-----【可以直接写在docker 的CMD命令中】是否最优方案????
以上方案违背了镜像的理念?????????
二、将环境和代码部署好之后,打包成一个镜像然后再部署。代码升级对应镜像升级,代码和环境不分开部署。--------认为可取。
关键编写一个DockerFile,将代码环境一起写进去。
参考文章:
docker集群——swarm、docker-machine一键部署
"三剑客”之Swarm探索应用集群服务发布