V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
keyfunc
V2EX  ›  Docker

新人的 Docker 问题

  •  
  •   keyfunc · Jul 10, 2016 · 4395 views
    This topic created in 3584 days ago, the information mentioned may be changed or developed.
    想搭建 2 个容器,一个放 nginx 一个放 php-fpm ,想问下这两个容器间如何通信?
    用 link 的话, php 那边 ip 变更的话, nginx 容器如果不重启的话是不是就拿不到 php 容器最新的 ip 地址了?
    Supplement 1  ·  Jul 10, 2016
    代码的话是直接 build 镜像的时候复制到容器里 还是 run 的时候通过-v 参数连接过去?

    -v 参数连接过去的文件权限是怎么控制的,比如我的 php-fpm 进程用户是 www-data , nginx 用户是 nginx
    8 replies    2016-07-11 11:12:13 +08:00
    majinjing3
        1
    majinjing3  
       Jul 10, 2016 via Android
    如果用--link php:php 这样的话, nginx 里面用直接写 php , docker 会移动更新 hosts 记录,
    gamexg
        2
    gamexg  
       Jul 10, 2016
    link 后直接用主机名即可。 docker 会更新 hosts 文件。
    imxieke
        3
    imxieke  
       Jul 10, 2016 via Android
    请教下楼主 将 nginx 与 php-fpm 分开是什么情况 ? 性能强? 还是有其他什么好处?
    majinjing3
        4
    majinjing3  
       Jul 10, 2016 via Android   ❤️ 1
    @imxieke 一个容器只做自己的事儿,方便隔离,而且 nginx 可以做反代,不仅仅反代 php ,还可以反代其他更多的容器
    imxieke
        5
    imxieke  
       Jul 10, 2016 via Android
    @majinjing3 哦哦 谢谢科普😄
    shiny
        6
    shiny  
    PRO
       Jul 10, 2016
    docker-compose 。 link 的时候自动会往 hosts 文件里写对应的 ip 和主机名,直接连接 fastcgi 后端直接写 主机名:port 即可。
    aogg
        7
    aogg  
       Jul 10, 2016
    用 network

    这是参考地址: https://github.com/aogg/docker_lamp/blob/master/docker/docker-compose.yml

    和 6 楼有点类似

    不用 docker-compose 也可以直接手动用 docker network 相关命令
    keyfunc
        8
    keyfunc  
    OP
       Jul 11, 2016
    还是请问下,代码到底放容器中还是通过- v 连接?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2364 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 10:37 · PVG 18:37 · LAX 03:37 · JFK 06:37
    ♥ Do have faith in what you're doing.