当尝试使用ArangoDB 3.1将Docker容器升级到3.2时,我遇到了需要升级的数据库的问题:
FATAL Database '_system' needs upgrade. Please start the server with the --database.auto-upgrade option
FATAL Database '_system' upgrade failed. Please inspect the logs from the upgrade procedure
我实际上如何通过设置?我尝试command: 'arangod --database.auto-upgrade true在设置docker-compose.yml,但没有任何效果。
小智 6
我还将docker-compose用于我的系统,其中arangodb在服务名称下运行,database如下所示:
version: '2.1'
services:
database:
image: arangodb:3.1.3
ports:
- 8529:8529
volumes:
- /opt/my-system/Database/arangodb:/var/lib/arangodb3
- /opt/my-system/Database/arangodb-apps:/var/lib/arangodb3-apps
restart: always
healthcheck:
test: curl -f my-system:8529/_api/version || exit 1
.
.
. other services
升级之前,我还必须停止系统。我已经按照以下步骤升级了arangodb容器(3.1.3 => 3.2.5)
docker pull arangodb:3.2.5 =>获取要升级到的映像docker-compose stop =>停止使用数据库的系统docker-compose rm -f database =>删除运行旧的arangodb的容器image:arangodb:3.1.3变为image:arangodb:3.2.5docker-compose run --rm database arangod --database.auto-upgrade =>这将创建运行v3.2.5的数据库容器,升级数据库文件,然后在完成后删除该容器。docker-compose up -d database =>启动升级的数据库,看一切是否正常docker-compose start =>启动系统的其余部分,该系统现在使用升级后的数据库如果我在升级过程中出错,则可以很容易地回滚到v3.1.3,因为我始终保留上一个映像和数据库文件。希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
473 次 |
| 最近记录: |