smi*_*ady 6 php memcached docker-compose
我在docker-compose中的memcached有问题。这是docker-compose.yml:
nginx:
container_name: nginx
image: nginx:latest
ports:
- 127.0.0.2:8000:80
volumes:
- ./htdocs:/htdocs
- ./nginx.conf:/etc/nginx/conf.d/nginx.conf
links:
- php
php:
container_name: php
build: ./php
volumes:
- ./htdocs:/htdocs
- ./php/php.ini:/usr/local/etc/php/php.ini
links:
- mysql
- memcached
mysql:
container_name: mysql
image: mysql:latest
ports:
- 127.0.0.2:8001:3306
volumes:
- ./my.cnf:/etc/mysql/my.cnf
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=db
- MYSQL_USER=root
- MYSQL_PASSWORD=root
memcached:
container_name: memcached
image: memcached:latest
ports:
- "11211:11211"
Run Code Online (Sandbox Code Playgroud)
这是我的PHP代码:
error_reporting(E_ALL & ~E_NOTICE);
$memcached = new Memcached;
$memcached->addServer('0.0.0.0', 11211);
echo '<pre>'; print_r($memcached->getServerList()); echo '</pre>';
if($memcached->getStats() === false) {
echo 'returned false';
} else {
echo '<pre>'; print_r($memcached->getStats()); echo '</pre>';
}
Run Code Online (Sandbox Code Playgroud)
结果是:
Array
(
[0] => Array
(
[host] => 0.0.0.0
[port] => 11211
[type] => TCP
)
)
returned false
Run Code Online (Sandbox Code Playgroud)
为什么memcached无法看到服务器?(getStats不返回任何内容)命令“ docker ps”以运行端口“ 0.0.0.0:11211->11211/tcp”的形式返回正在运行docker memcached:lastest的列表。对不起我的英语不好。