使用一个管理命令创建并启动mysql/postgresql容器
django-db-quick-setup的Python项目详细描述
使用一个管理命令创建并启动mysql/postgresql容器。
- 如果图像不可用,它将被拉取。 如果有指定配置的容器不存在,它将是 创建。
- 如果容器未运行,则将启动它。
必要的设置取自settings.py。
- 忽略sqlite数据库。
- 对于mysql和postgresql,每个数据库创建一个容器。
另外,docker设置是从标准的DOCKER_*环境中获取的 变量。
用法
./manage.py db_quick_setup
'db_quick_setup'应添加到INSTALLED_APPS:
INSTALLED_APPS=('django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.sites','django.contrib.messages','django.contrib.staticfiles','django.contrib.admin','db_quick_setup')
^数据库设置中的{tt4}$应指向docker hostname/ip。你可以 使用find_docker_host()自动检测它。
fromdb_quick_setupimportfind_docker_hostDATABASES={'default':{'ENGINE':'django.db.backends.mysql','NAME':'mysql_db','USER':'mysql_db','PASSWORD':'mysql_db_pass','HOST':find_docker_host(),'PORT':53308}}
'NAME'、'USER'、'PASSWORD'和'PORT'可以有任意值, 容器将相应地配置。
- 对于mysql'NAME'和'USER'应该具有相同的值,它是 官方形象的局限性。
设置
DOCKER_MYSQL_IMAGE:要用于mysql数据库的docker映像。默认值是 官方图片-mysql:latest。
DOCKER_POSTGRES_IMAGE:PostgreSQL数据库的Docker映像。默认是 官方图片-postgresql:latest。
DOCKER_ASSERT_HOSTNAME:启用ssl主机名验证(布尔值)。True 默认情况下。
DOCKER_PRIVILEGED:创建特权容器。当前用作 解决Travis CI上的权限问题。默认情况下是禁用的, 通常不应该启用。