意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

docker compose

来源:恒创科技 编辑:恒创科技编辑部
2024-02-04 05:53:59

1

I'm trying to create a docker environment for my django project

my dockerfile :


docker compose

 FROM python:3
ENV PYTHONUNBUFFERED=1
RUN apt-get install default-libmysqlclient-dev
RUN mkdir /config
ADD /config/requirements.txt /config/
RUN pip install -r /config/requirements.txt
RUN mkdir /src
WORKDIR /src

my docker-compose :

 version: '3'

services:
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_DATABASE: ProjetDjango
container_name: mysql01
restart: always
nginx:
image: nginx:1.13-alpine
container_name: nginx01
ports:
- "8000:8000"
volumes:
- ./project:/src
- ./config/nginx:/etc/nginx/conf.d
depends_on:
- web
web:
build: .
container_name: django01
command: bash -c "python3 manage.py makemigrations && python3 manage.py migrate && python3 manage.py collectstatic --noinput && gunicorn hello_django.wsgi -b 0.0.0.0:8000"
depends_on:
- db
volumes:
- ./project:/src
expose:
- "8000"
restart: always

my settings.py :

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'ProjetDjango',
'USER': 'root',
'PASSWORD': 'root',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}

I've got this error while running : docker-compose up

When you link your db service to your web service in docker so you must use your db service name instead of your database server ip for connecting database :

db:
image: mysql
restart: unless-stopped
container_name: db_of_my_project

web:
build: .
container_name: django01
command: ...
links:
- db
volumes:
- ./project:/src
expose:
- "8000"
restart: always



上一篇: docker 后端部署架构 下一篇: 手机怎么远程登录云服务器?