[英]Django Server wont launch in Docker-Compose
我试图将Django项目移植到Docker-Compose进行部署。
我在线上阅读了各种教程,据我了解,我的App唯一需要的服务是Django和Postgres。 这是我的docker-compose.yml文件:
db:
image: postgres:latest
ports:
- "5432"
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
web:
build: .
ports:
- "8000:8000"
volumes:
- .:/code
links:
- db
command: python3 manage.py runserver 0.0.0.0:8000
我已经在我的virtualenv中本地测试了python命令,然后服务器启动,但是,当我在应用程序副本所在的文件夹中运行“ docker-compose up”时,得到以下输出:
Creating hpr_db_1
Creating hpr_web_1
Attaching to hpr_db_1, hpr_web_1
db_1 | The files belonging to this database system will be owned by user "postgres".
db_1 | This user must also own the server process.
db_1 |
db_1 | The database cluster will be initialized with locale "en_US.utf8".
db_1 | The default database encoding has accordingly been set to "UTF8".
db_1 | The default text search configuration will be set to "english".
db_1 |
db_1 | Data page checksums are disabled.
db_1 |
db_1 | fixing permissions on existing directory /var/lib/postgresql/data ... ok
db_1 | creating subdirectories ... ok
db_1 | selecting default max_connections ... 100
db_1 | selecting default shared_buffers ... 128MB
db_1 | selecting dynamic shared memory implementation ... posix
db_1 | creating configuration files ... ok
db_1 | creating template1 database in /var/lib/postgresql/data/base/1 ... ok
db_1 | initializing pg_authid ... ok
db_1 | initializing dependencies ... ok
web_1 | /usr/local/lib/python3.4/importlib/_bootstrap.py:321: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9.
web_1 | return f(*args, **kwds)
web_1 |
db_1 | creating system views ... ok
db_1 | loading system objects' descriptions ... ok
db_1 | creating collations ... ok
db_1 | creating conversions ... ok
db_1 | creating dictionaries ... ok
db_1 | setting privileges on built-in objects ... ok
db_1 | creating information schema ... ok
db_1 | loading PL/pgSQL server-side language ... ok
web_1 | /usr/local/lib/python3.4/importlib/_bootstrap.py:321: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9.
web_1 | return f(*args, **kwds)
web_1 |
db_1 | vacuuming database template1 ... ok
db_1 | copying template1 to template0 ... ok
db_1 | copying template1 to postgres ... ok
db_1 | syncing data to disk ... ok
db_1 |
db_1 | Success. You can now start the database server using:
db_1 |
db_1 | postgres -D /var/lib/postgresql/data
db_1 | or
db_1 | pg_ctl -D /var/lib/postgresql/data -l logfile start
db_1 |
db_1 |
db_1 | WARNING: enabling "trust" authentication for local connections
db_1 | You can change this by editing pg_hba.conf or using the option -A, or
db_1 | --auth-local and --auth-host, the next time you run initdb.
db_1 | waiting for server to start....LOG: database system was shut down at 2015-11-06 15:18:39 UTC
db_1 | LOG: MultiXact member wraparound protections are now enabled
db_1 | LOG: autovacuum launcher started
db_1 | LOG: database system is ready to accept connections
db_1 | done
db_1 | server started
db_1 | ALTER ROLE
db_1 |
db_1 |
db_1 | /docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
db_1 |
db_1 | LOG: received fast shutdown request
db_1 | LOG: aborting any active transactions
db_1 | LOG: autovacuum launcher shutting down
db_1 | waiting for server to shut down....LOG: shutting down
db_1 | LOG: database system is shut down
db_1 | done
db_1 | server stopped
db_1 |
db_1 | PostgreSQL init process complete; ready for start up.
db_1 |
db_1 | LOG: database system was shut down at 2015-11-06 15:18:41 UTC
db_1 | LOG: MultiXact member wraparound protections are now enabled
db_1 | LOG: database system is ready to accept connections
db_1 | LOG: autovacuum launcher started
没有关于服务器启动或类似信息的消息,由于有关弃用的警告消息,我知道它正在编译我的代码,但是我在这里很困惑。 谁能看到我的错误?
更新:
仔细检查并更改DJango服务器的端口后,我发现访问网页返回“页面加载时重置与服务器的连接”错误。 这表明该页面上正在设置某些内容。 但是我仍然无法访问它。 我知道Docker-Compose可以像教程中的简单Django应用程序一样正常工作。
您是否将django容器的端口EXPOSE
了?
使用.yml文件,您可以创建内部版本。
您应将文件移至部署环境并继续运行服务器。
因此,当.yml成功运行时,您将拥有成功的构建,并且能够将文件移至部署环境(您在其中运行了最后的构建)。
无论如何,我不建议在运行程序中执行python3 manage.py runserver 0.0.0.0:8000
,因为您的运行程序将运行并且不会完成(获取成功或失败的构建)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.