• 亚林
    2019-09-29
    mysql数据库服务一般不放在docker里面吧?

    作者回复: mysql数据库可以住在docker/k8s中,但是建议容器中一般住无状态应用,生产环境有状态的应用建议住在物理或虚拟机。

    
     1
  • btshanghaib
    2019-12-30
    请教老师一个问题,在docker-compose的环境里,faraday网关里面使用的profile是test,里面没有配置任意一个 mapping;那前端页面发送过来的 如app.staffjoy-v2.local 这样的域名它是根据什么来转发的?

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

    
    
  • dingdongfm
    2019-10-23
    您好,请教一些问题:
    1、docker-compose只能在一台宿主机上执行么?
    2、假设宿主机内存为4G,有两个docker容器,每台都指定使用3G内存,那么这两个容器可以正常运行么?
    3、docker容器对宿主机硬件资源(CPU,内存)的占用需要如何设置呢?

    作者回复: 你好,回答你的问题:
    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/

    
    
  • Young
    2019-10-04
    docker compose的容器depends on只能保证在被依赖的容器启动完成之后启动依赖的容器,但被依赖的容器启动完成并不代表该容器中的服务已经准备就绪可以使用,如果被依赖的容器中服务启动比较缓慢,在这种情况下就可能会出现以下场景:假设容器B中服务依赖容器A中服务,A容器启动完了但该容器中的服务还在启动,而此时B容器启动可能会导致由于A容器中服务未就绪而导致B容器中服务启动出错,请问老师这种情况该怎么处理

    作者回复: 可以参考这个链接提供的一种解决办法:
    https://8thlight.com/blog/dariusz-pasciak/2016/10/17/docker-compose-wait-for-dependencies.html

    
    
我们在线,来聊聊吧