我在docker容器中的端口11211上运行了memcached服务,我想使用127.0.0.1:11211从另一个容器中访问此服务。我使用docker-compose并没有“链接”,“端口”或“暴露”似乎对我有用。我不想使用memcached docker容器的ip访问,而是我想访问它,因为它是另一个容器的本地服务。有没有解决方案?
谢谢!
version: '2'
services:
memcached:
build: ./memcached
image: memcached_img
expose:
- "11211"
web:
build: .
image: app:latest
mem_limit: 512m
ports:
- "3000:3000"
command: [ "script/startup.sh", "web" ]
worker:
build: .
image: app:latest
mem_limit: 512m
command: [ "script/startup.sh", "worker" ]
答案 0 :(得分:1)
首先,您需要更改Memcache conf以允许与其他主机连接
!important
构建形象。
你的docker-compose文件中的
go to /etc/memcached.conf:
change -l 127.0.0.1 to -l 0.0.0.0 # or simply comment it out
答案 1 :(得分:0)
您可以将depends_on: memcached
添加到网络容器中。这会将memcached
主机添加到web
容器中,您可以从那里ping该主机。 Docker将负责端口转发。它还将确保仅在memcached启动后才启动web。然后,您可以telnet memcached 11211
内的web
。