我通过docker-compose.yml在docker上拥有猕猴桃TCMS。而且我有数据库的文件json(旧版本的猕猴桃)要从旧服务器转储数据库,请使用:
docker exec -it kiwi_web /Kiwi/manage.py dumpdata --all --indent 2 > database.json
。
在新的奇异果TCMS中,我想使用旧数据库,但输入此命令后
docker exec -it kiwi_web /bin/bash -c '/Kiwi/manage.py sqlflush | /Kiwi/manage.py dbshell'
我得到:
CommandError: You appear not to have the 'mysql' program installed or on your path.
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>
BrokenPipeError: [Errno 32] Broken pipe
我该怎么办?我使用以下指令:kiwi blog
mysql
实际上确实在网络docker映像中丢失(这是构建过程的副作用,在此二进制文件包含在映像中之前)。
您可以通过docker exec -u 0 -it kiwi_web /bin/bash
解决->这将为您提供容器内部的root特权。一旦进入“ yum install mariadb”或“ yum install mysql”。
没有停止容器,请尝试从所有表中删除所有数据并还原json数据。