我找到了一个Django项目,但未能以以下方式在Docker容器中运行:
git clone https://github.com/hotdogee/django-blast.git
$ cat requirements.txt
:我有以下Dockerfile:
FROM python:2
ENV PYTHONUNBUFFERED=1
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
对于docker-compose.yml
,我使用:
version: "3"
services:
db:
image: postgres
volumes:
- ./data/db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
哪个IP地址是停靠-组合使用,因为我必须更改以下硬编码地址:
$ grep -ir "127.0.0.1"
i5k/settings_prod.py: 'HOST': '127.0.0.1',
i5k/settings.py: 'HOST': '127.0.0.1',
i5k/settings.py: 'LOCATION': '127.0.0.1:11211',
Binary file i5k/settings.pyc matches
example/blastdb/AGLA_new_ids.faa.phd:13312790801051
grep: data/db: Permission denied
blast/static/blast/components/code-mirror/codemirror-4.0/mode/nginx/index.html: fastcgi_pass 127.0.0.1:9000;
blast/static/blast/components/code-mirror/codemirror-4.0/mode/nginx/index.html: fastcgi_pass 127.0.0.1:9000;
axes/tests.py: reset(ip='127.0.0.1')
axes/decorators.py: ip_address = '127.0.0.1'
提前谢谢你
发布于 2021-05-17 14:31:05
不要在容器内使用ip地址。相反,使用links标志将多个容器连接到一起,然后使用链接容器的名称。
version: "3"
services:
db:
image: postgres
volumes:
- ./data/db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
links:
- db
链接允许web容器使用主机名db到达db容器。
https://serverfault.com/questions/1063822
复制相似问题