我克隆了这个repo(它几乎基于docker docs here)并运行docker-compose up
。 Docker构建了2个容器,我看到了db_1的输出(psql看起来已经完全准备好了)但是没有任何内容来自web_1,没有任何输出。
我转到我的主机IP + 8000,没有任何东西在那里运行。我正在使用docker toolbox for mac。这几乎是使用Docker最简单的例子 - 任何想法为什么我从Django容器中看不到任何东西?
提前致谢,
答案 0 :(得分:0)
有可能将web_1 Container的STDOUT映射为仅显示WARN和ERROR级别。你说你使用Docker Toolbox for Mac?您是否尝试通过DockerToolBox VM或HostIP的IP访问网站?我不太了解DockerToolbox,因为有一个原生的MacClient(https://docs.docker.com/engine/installation/mac/)。也许尝试到达DockerToolboxIp而不是HostIP。我还建议使用Docker for Mac native,因为我遇到了ToolBox问题但没有使用“Native”客户端。 希望我能帮忙
答案 1 :(得分:0)
在更好地查看文档后,我能够启动容器。
在git clone
:
cd sane-django-docker
docker-compose up -d
这是输出
Starting sanedjangodocker_db_1
Starting sanedjangodocker_web_1
[root@localhost sane-django-docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cde9e93c1a70 sanedjangodocker_web "python3 manage.py ru" 19 seconds ago Up 1 seconds 0.0.0.0:8000->8000/tcp sanedjangodocker_web_1
73ad8cafe798 postgres:9.4 "/docker-entrypoint.s" 20 seconds ago Up 1 seconds 5432/tcp sanedjangodocker_db_1
当我刚刚执行了docker-compose up(在forground中运行时,我看到了这个问题)。
LOG: shutting down
LOG: database system is shut down
在the documentation中更好看后,我看到了问题
Django会抱怨postgres数据库不存在所以我们会这样做 创建一个:
docker exec sanedjangodocker_db_1 createdb -Upostgres webapp
现在postgres很好,但我不得不重启webapp才能找到db。
docker restart sanedjangodocker_web_1
现在我可以在IP:8000
上访问它了It worked!
Congratulations on your first Django-powered page.
我不知道django应用程序是如何工作的,但设置很奇怪。