由于我对此很新,我在开始之前在互联网上阅读了相当数量,我认为我做了教程中所说的一切,但是,我的django应用程序不想使用mysql容器。根据我的阅读,在settings.py
文件中,我必须添加以下代码:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'TheDatabase',
'USER': 'TheUsername',
'PASSWORD': 'ThePassword',
'HOST': 'mysql',
'PORT': '3306',
}
}
我使用docker-compose.yml
链接停靠者容器和我的docker-compose.yml
看起来如下:
version: '2'
services:
mysql:
image: mysql:latest
environment:
-MYSQL_DATABASE: TheDatabase
-MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
-MYSQL_USER: TheUsername
-MYSQL_PASSWORD: ThePassword
django:
build: .
volumes:
- .:/app
ports:
- "443:443"
- "8000:8000"
links:
- mysql
我认为问题出在两个容器之间的关系的原因是,因为当我访问https://127.0.0.1/时我得到0个问题,但是,一旦我尝试以超级用户身份登录,我得到错误消息 504 Timed-out ,因此我认为问题必须在数据库中。在Django应用程序的Dockerfile中我只安装了Mysql-Python和libmysqlclient-dev,我应该在django应用程序的容器中安装其他任何东西还是这个呢?我的另一个问题是,dockerhub上的图像mysql-server和mysql有什么区别,因为它们的描述完全相同?