Rin*_*iev 11 containers rabbitmq docker dockerfile
删除没有卷的容器后,docker los数据在docker los数据中
我的Dockerfile:
FROM rabbitmq:3-management
ENV RABBITMQ_HIPE_COMPILE 1
ENV RABBITMQ_ERLANG_COOKIE "123456"
ENV RABBITMQ_DEFAULT_VHOST "123456"
我的运行脚本:
IMAGE_NAME="service-rabbitmq"
TAG="${REGISTRY_ADDRESS}/${IMAGE_NAME}:${VERSION}"
echo $TAG
docker rm -f $IMAGE_NAME
  docker run \
    -itd \
    -v "rabbitmq_log:/var/log/rabbitmq" \
    -v "rabbitmq_data:/var/lib/rabbitmq" \
    --name "service-rabbitmq" \
    --dns=8.8.8.8 \
    -p 8080:15672 \
    $TAG
删除容器后,所有数据都会丢失。
如何在Docker中使用持久性数据配置Rabbitmq?
小智 14
Rabbitmq使用主机名作为mnesia目录中文件夹名称的一部分。也许
--hostname some-rabbit在您的docker run中添加一个?
我有同样的问题,我在这里找到了答案
对此并没有做太多的挖掘,但是似乎最简单的方法是更改hostname上面Pedro提到的方法。 
RABBITMQ_NODENAME如果您想RABBITMQ_NODENAME通过Docker 编辑变量,hostname由于Docker主机名是作为随机散列生成的,因此您似乎也需要添加一个。
如果将RABBITMQ_NODENAMEvar 更改为静态my-rabbit变量,RabbitMQ将"nxdomain not found"查找错误,因为它正在寻找my-rabbit@<docker_hostname_hash>。如果您知道Docker主机名,并且可以RABBITMQ_NODENAME像这样自动将其拉入您的值,my-rabbit@<docker_hostname_hash>我相信它会起作用。
更新
我以前说过
如果您知道Docker主机名,并且可以
RABBITMQ_NODENAME像这样自动将其拉入您的值,my-rabbit@<docker_hostname_hash>我相信它会起作用。
这将无法按精确描述的方式工作,因为默认Docker主机名是在启动时随机生成的(如果未明确分配)。实际上,要确保您使用EXACT SAME <docker_hostname_hash>作为原始运行时的障碍,以便正确拾取数据目录。动态/稳健地实施将是一个痛苦。如下所述,使用显式主机名将是最简单的。
另一种方法是将设置为hostname您选择的值-例如,app-messaging- 并且还将RABBITMQ_NODENAMEvar 设置为rabbit@app-messaging。这样,您可以控制将在数据目录中使用的完整节点名称。
(推荐)
就是说,除非您有理由不更改主机名,否则仅更改主机名是确保每次都将数据装入同一点或从同一点装入数据的最简单方法。
我正在使用以下Docker Compose文件在两次启动之间成功保留我的设置。
version: '3'
services:
  rabbitmq:
    hostname: 'mabbit'
    image: "${ARTIFACTORY}/rabbitmq:3-management"
    ports:
      - "15672:15672"
      - "5672:5672"
    volumes:
      - "./data:/var/lib/rabbitmq/mnesia/"
    networks:
      - rabbitmq
networks:
  rabbitmq:
    driver: bridge
这将data在我的撰写文件旁边创建一个目录,并保留RabbitMQ设置,如下所示:
version: '3'
services:
  rabbitmq:
    hostname: 'mabbit'
    image: "${ARTIFACTORY}/rabbitmq:3-management"
    ports:
      - "15672:15672"
      - "5672:5672"
    volumes:
      - "./data:/var/lib/rabbitmq/mnesia/"
    networks:
      - rabbitmq
networks:
  rabbitmq:
    driver: bridge
| 归档时间: | 
 | 
| 查看次数: | 9511 次 | 
| 最近记录: |