1.问题描述:

用docker部署Django时遇到问题如下:

 卡在这里不动了,等了半小时服务也没起来

我的dockerfile如下:

 直接启动没有问题:

用exec命令在容器内直接起也没有问题:

2.我的解决办法

        请先保证你开发时的python版本以及用到的各种包的版本和docker中的版本一致,如果还是卡在Watching for file changes with StatReloader 这一行不动的话,可以尝试在dockerfile中加入一行:

ENV PYTHONUNBUFFERED=1 

虽然不知道什么意思,但是docker启动成功了,如下图

3.新的问题:访问不了用docker启动的WEB

  

 原因:一开始我用的

sudo docker run -p 8888:8000 --name spidermanage spidermanage:0.01

启动的

解决办法:用这条命令 

sudo docker run -p 8888:8000 --net host --name spidermanage spidermanage:0.01

结果:可以访问我们自己的web了

 

3.最后附上我比较常使用的有关docker的操作,用于备忘:

生成requirements.txt :     pip freeze > requirements.txt
查看镜像: sudo docker images
生成镜像: sudo docker build -t 镜像名称:0.01 .
删除镜像步骤: 1.sudo docker ps -a  【查看容器ID】
     2.sudo docker rm 容器ID 【删除容器】
     3.sudo docker images 【查看镜像ID】
     4.sudo docker rmi 镜像ID  【删除镜像】
进入容器:1.sudo docker ps  【查看正在运行的容器】
     2.sudo docker exec -it 容器id  /bin/bash 【进入容器】
查看正在运行的容器:sudo docker ps
停止正在运行的容器:sudo docker stop 容器id
运行镜像:sudo docker run -p 8888:8000 --name spidermanage spidermanage:0.01

sudo docker run -p 8888:8000 --net host --name spidermanage spidermanage:0.01

HV主机服务(windows 启动docker):
1、按下WIN+R打开运行,然后输入services.msc回车;
2、在服务中找到 HV主机服务,双击打开设置为禁用/启用

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐