我想启动两个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
有人知道要使用哪些变量。或者是我错过了什么?
答案 0 :(得分:0)
您无需更改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 EXPOSEd不同的端口。
答案 1 :(得分:0)
实际上,您不需要编辑.sh文件。足以直接在docker compose中使用“命令”选项:
cache:
image: memcached:latest
command:
- '-m 128'