Docker-compose ile oluşturulmuş bir sistemim var, bir Django uygulaması yaratıyor.Docker-compose with django adrese "db" ana bilgisayar adını çeviremedi: İsim veya hizmet bilinmiyor
Şimdiye kadar test yapmamda bir kapsayıcı (postgresql) içinde bir veritabanı kullandım. Şimdi veritabanını bu kapsayıcıdan AWS'deki bir RDS örneğine değiştirdim.
Pg_dump Kullanımı Veritabanını RDS içinde yeniden oluşturdum ve settings.py değiştirdim, her şey normaldi. Veritabanımdaki veritabanından veriye herhangi bir sorun olmadan eriştim.
Taşıma işlemi yapana kadar her şey yolundaydı.
django.db.utils.OperationalError: could not translate host name "db" to address: Name or service not known
Benim Docker-compose.yml dosya değişmeden önce: değişikliklerden sonra şimdi
version: '2'
services:
db:
image: postgres:9.5
restart: always
environment:
POSTGRES_USER: testing
POSTGRES_PASSWORD: tests
POSTGRES_DB: test
volumes:
- /dbdata:/var/lib/postgresql/data
django:
build: ./django
command: gunicorn contactto.wsgi:application -b 0.0.0.0:8000
restart: always
volumes:
- ./django:/usr/src/app
- ./django/static:/usr/src/app/contactto/static
ports:
- "8000:8000"
depends_on:
- db
:
version: '2'
services:
django:
build: ./django
command: gunicorn contactto.wsgi:application -b 0.0.0.0:8000
restart: always
volumes:
- ./django:/usr/src/app
- ./django/static:/usr/src/app/contactto/static
ports:
- "8000:8000"
Ve veritabanı konteyner olmadan Django konteyner Bana bu mesajı veriyor settings.py'den VERİTABANLARI. önce:
DATABASES = {
'default': {
'ENGINE': 'tenant_schemas.postgresql_backend',
'NAME': 'testing',
'USER': 'test',
'PASSWORD': 'test',
'HOST': 'db',
'PORT': '5432',
}
}
sonra:
DATABASES = {
'default': {
'ENGINE': 'tenant_schemas.postgresql_backend',
'NAME': 'testing',
'USER': 'test',
'PASSWORD': 'test',
'HOST': 'xxx.rds.amazonaws.com',
'PORT': '5432',
}
}
garip bir şeydir, benim uygulamanın içinden aws veritabanını kullanabilirsiniz ... Ben kullanıcılar oluşturmak ve veritabanı içinde şeyler yapmak ve değişiklikler ortaya çıkabilir . Şimdi CLI'de, mesaj olmadan manage.py kabuğunu bile kullanamıyorum.
Tamamen kayboldum. Sorumu cevaplama