作者回复: mysql数据库可以住在docker/k8s中,但是建议容器中一般住无状态应用,生产环境有状态的应用建议住在物理或虚拟机。
作者回复: 你好,回答你的问题:
1. docker-compose主要是在单机上玩的。但是现在v3版本的docker-compose.yml文件也支持在docker swarm集群上运行,要用docker stack命令,同时对yml文件也有一些限制,参考:https://stackoverflow.com/questions/40737389/docker-compose-deploying-service-in-multiple-hosts
2. 在可用内存4g的宿主机上,可以同时运行两个指定3G内存的容器,只要两个容器实际使用的内存都不会超过3g(当然两者总和也不能超过4g,否则会被OS杀掉),你可以尝试下打开两个终端,同时运行:
docker run -m 20G -it ubuntu bash
3. CPU/MEM限制,具体可以参考docker官方文档,写得很详细:
https://docs.docker.com/config/containers/resource_constraints/
作者回复: 可以参考这个链接提供的一种解决办法:
https://8thlight.com/blog/dariusz-pasciak/2016/10/17/docker-compose-wait-for-dependencies.html