【问题标题】:How to start two memcached instances on two different ports from docker-compose?如何从 docker-compose 在两个不同的端口上启动两个 memcached 实例?
【发布时间】:2018-04-14 00:22:13
【问题描述】:

我想启动 memcached 的两个 docker-compose 服务。我对这两个实例都使用了 docker 标准 memcached 映像。 Memcached 应该可以使用环境变量来改变它正在监听的端口,但它似乎不起作用。

我的 docker-compose.yml

...
memcached-server:
    image: memcached
    environment:
      MEMCACHED_PORT: 11211
    ports:
      - 11311:11211
    networks:
      - my_net

memcached-server-lock:
    image: memcached
    environment:
      MEMCACHED_PORT: 11212
      MEMCACHED_CACHE_SIZE: 128
    ports:
      - 11312:11212
    networks:
      - my_net
...

容器正在正确启动,但 env 变量似乎没有被拾取:

0ae76227b72b        memcached                            "docker-entrypoint..."   17 seconds ago      Up 13 seconds       0.0.0.0:11311->11211/tcp mobidesk_memcached-server_1
ab3682361dad        memcached                            "docker-entrypoint..."   17 seconds ago      Up 12 seconds       11211/tcp, 0.0.0.0:11312->11212/tcp  mobidesk_memcached-server-lock_1

有人知道要使用哪些变量吗?还是我错过了什么?

【问题讨论】:

    标签: docker environment-variables docker-compose memcached


    【解决方案1】:

    你不需要改变 memcache 使用的 docker 端口,你可以像这样简单地拥有它:

    memcached-server:
        image: memcached
        ports:
          - 11311:11211
        networks:
          - my_net
    
    memcached-server-lock:
        image: memcached
        environment:
          MEMCACHED_CACHE_SIZE: 128
        ports:
          - 11312:11211
        networks:
          - my_net
    

    无论如何,您使用的变量都可以。您不应使用与 Dockerfile 公开的端口不同的端口。

    【讨论】:

    • 我知道它们可以在同一个端口上运行,因为它们存在于不同的容器中。但在这种情况下,我希望它们位于不同的端口上。暴露的端口应该随着给定的变量而改变。当我查看 memcached 的 Dockerfile 时,我发现端口不可配置。我想我必须创建自己的 Dockerfile。
    【解决方案2】:

    实际上,您不需要编辑 .sh 文件。直接在docker compose中使用“command”选项就够了:

      cache:
        image: memcached:latest
        command:
          - '-m 128'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-25
      • 2016-03-27
      • 1970-01-01
      • 2016-07-25
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多