作者回复: 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
作者回复: faraday有一个配置:enable_programmatic_mapping,这个配置只有在dev环境为false,其它环境都是true。换句话说,只有dev环境会用application-dev.yml里头的静态配置路由,而其它环境都会用动态可编程路由方式~路由配置在程序代码里头,具体参考:ProgrammaticMappingsProvider这个类。两种路由方式的配置生效在FaradayConfiguration文件里头。