docker pull cczzyy/memcached:1.0.0
docker run -d -p 11211:11211 --name sasl-memcached \
-e SASL_USER=用户名 \
-e SASL_PASSWORD=密码 \
-e MEMCACHED_CMD="memcached -u memcached -S -vv" \
cczzyy/memcached:1.0.0
version: '3.8'
services:
mem:
image: cczzyy/memcached:1.0.0
container_name: mem
restart: always
environment:
- TZ=Asia/Shanghai
- SASL_USER=用户名
- SASL_PASSWORD=密码
- MEMCACHED_CMD=memcached -u memcached -S -vv
ports:
- 11211:11211
$this->Memd = new Memcached;
$this->Memd->addServers([
['127.0.0.1','11211'] // docker-compose 环境内 ['mem','11211']
]);
$this->Memd->setOptions([
Memcached::OPT_BINARY_PROTOCOL => true, // 二进制协议, SASL开启后,只有二进制模式可以使用
Memcached::OPT_DISTRIBUTION => Memcached::DISTRIBUTION_CONSISTENT, // 一致性分布算法(基于libketama)
Memcached::OPT_LIBKETAMA_COMPATIBLE => true, // 开启或关闭兼容的 libketama 类行为
]);
$this->Memd->setSaslAuthData('用户名@用户名','密码');
FROM centos:centos7
MAINTAINER cczzyy.cn <[email protected]>
ENV SASL_USER=czy SASL_PASSWORD=123456 MEMCACHED_CMD="memcached -u memcached -S -vv"
USER root
RUN yum -y install cyrus-sasl cyrus-sasl-devel cyrus-sasl-plain memcached
CMD echo $SASL_PASSWORD | echo $SASL_PASSWORD | saslpasswd2 -a memcached -c "${SASL_USER}@${SASL_USER}" \
&& chown memcached:memcached /etc/sasldb2 \
&& saslauthd -a shadow \
&& sh -c "${MEMCACHED_CMD}"
docker build -t cczzyy/memcached:1.0.0 .
Content type
Image
Digest
Size
151.2 MB
Last updated
over 4 years ago
docker pull cczzyy/memcached:1.0.0