我最近将我的烧瓶app容器化了。我的docker-compose文件创建了四个容器:web,db,rabbit和celery。我更新代码时,我的Web容器会更新。它运作良好,我很高兴。
但是,我觉得我必须遗漏一些东西,因为我无法弄清楚如何创建迁移文件。当我使用虚拟环境时,我只是运行了python manage.py db migrate
和(繁荣!),创建了迁移。现在,当我启动我的venv并运行该命令时,我收到以下错误:
(psycopg2.OperationalError) could not translate host name "db" to address: nodename nor servname provided, or not known
我认为这是有道理的,因为命令/代码似乎无法找到/解析db
。话虽如此,我该如何解决这个问题?我错了吗?
我正在使用:SQLAlchemy,flask-migrate,postgres
答案 0 :(得分:1)
您必须在容器中运行manage.py
,行之间应该执行以下操作:
docker-compose exec container-name /path/to/manage.py db migrate
如果您需要访问容器中创建的文件,只需在容器上安装卷并将您的应用打包到该卷中。可以从主机访问写入容器中卷的所有内容。