
version: "3"
services:
rabbitmq:
image: rabbitmq:3.7.17-alpine
# rabbitmqctl add_user user 123123; rabbitmqctl set_user_tags user administrator; rabbitmqctl set_permissions -p / user '.*' '.*' '.*'
# å¢žåŠ command 导致 RABBITMQ_DEFAULT_USER å’Œ RABBITMQ_DEFAULT_PASS æ— æ•ˆ
command: sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime &&
echo $TZ > /etc/timezone &&
rabbitmq-plugins enable --offline rabbitmq_management &&
rabbitmq-server"
hostname: rabbitmq
volumes:
- ddd-rabbitmqdata:/var/lib/rabbitmq
environment:
TZ: Asia/Shanghai
RABBITMQ_DEFAULT_USER: user
RABBITMQ_DEFAULT_PASS: 123123
deploy:
replicas: 1
restart_policy:
condition: on-failure
resources:
limits:
cpus: "0.3"
memory: 256M
ports:
- "15672:15672"
networks:
- ddd-microservices
volumes:
ddd-rabbitmqdata:
external:
name: ddd-rabbitmqdata
docker stack deploy -c docker-compose.yml mq

Setting the TZ variable will work. There isn't a /etc/timezone, /etc/localtime, or /usr/share/zoneinfo in the container
$ docker run -d --rm --name rabbit -e TZ=CST rabbitmq:3.7.17-alpine
710f21a14720def3a3def17b9e1285c801d42e0819a460897d98ee96eb7992df
$ docker logs rabbit | tail -n 3
2019-07-31 16:22:57.151 [info] <0.223.0> Running boot step direct_client defined by app rabbit
2019-07-31 16:22:57.244 [info] <0.8.0> Server startup complete; 0 plugins started.
completed with 0 plugins.
$ TZ=CST date
Wed Jul 31 16:23:28 CST 2019
$ docker exec rabbit date
Wed Jul 31 16:23:45 CST 2019
If you have further questions you could also try asking over at the Docker Community Forums, Docker Community Slack, or Stack Overflow. Since these repositories are for issues with the image and not necessarily for questions of usability