You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Docker容器中覆盖文件?解决ActiveMQ Artemis启动报错

解决ActiveMQ Artemis Docker启动时login.config已存在的问题

你的Docker Compose配置如下:

services:
   artemis:
       image: <artemis-image>
       ports:
         - "8161:8161"
         - "61616:61616"
       environment:
         ARTEMIS_USER: artemis
         ARTEMIS_PASSWORD: "artemis"
       volumes:
         - artemis:/app/artemis/brokers

执行docker-compose up时出现报错:

Creating ActiveMQ Artemis instance at: /app/artemis/brokers/drpbroker
The file 'drpbroker/etc/login.config' already exists.  Use --force to overwrite.

解决方案

方案1:删除现有卷(无需保留数据)

如果不需要保留artemis卷里的现有数据,直接删除卷后重新启动即可:

docker-compose down -v
docker-compose up -d

-v参数会删除Docker Compose中定义的所有命名卷,重新启动时容器会生成全新的Artemis实例文件。

方案2:修改配置添加--force参数(保留数据)

如果需要保留卷中的现有数据,修改Docker Compose配置,给Artemis容器添加启动命令--force,强制覆盖已存在的配置文件:

services:
   artemis:
       image: <artemis-image>
       ports:
         - "8161:8161"
         - "61616:61616"
       environment:
         ARTEMIS_USER: artemis
         ARTEMIS_PASSWORD: "artemis"
       volumes:
         - artemis:/app/artemis/brokers
       command: ["--force"]

修改后重新执行docker-compose up -d即可。

方案3:手动执行覆盖命令(保留数据)

先通过临时容器执行--force命令覆盖现有文件,再启动服务:

docker run --rm -v artemis:/app/artemis/brokers <artemis-image> --force
docker-compose up -d

内容的提问来源于stack exchange,提问作者AbrA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 14:04:53