- 安装docker,一定要用Linux或者mac系统,windows的兼容性很差。先后输入两条命令:
sudo apt install docker
# 下面这个一定不要漏装了!
sudo apt install docker.io
# 查看docker版本
sudo docker version
- 安装docker-compose。如果pip的使用出了问题,可以参见我从0开始装django那篇文章
sudo pip install docker-compose
- 跑项目的指令:
sudo docker-compose up --build -d
这样跑起来后不会占用命令行。运行时会向docker安装项目所需要的环境,一般1g以上,所以装的时候网络一定要好。如果遇到出现Couldn't connect to Docker daemon at http+unix的问题,可以参见这篇文章,可以完美解决。http://blog.csdn.net/qiyueqinglian/article/details/46559825
- 如果遇到database不能building,且发生port is already allocated的情况,那就docker ps -a,把占用了端口号的id进行docker rm id(输前4位就好了)。所以在不用的时候最好养成docker-compose down的习惯
- 可以用docker-compose ps来查看目前有哪些容器被开起来了
- 如果API的使用中出了问题一定是后端出了问题,可以先打开docker-compose logs -f,这样就可以跟踪日志。不要想办法进docker里看
- 跑起来之后如果因为database问题访问不了API,有两种情况。第1种是数据库不存在,那么重新up一下就OK了,不要不相信。第2种情况某个字段不对,说明字段改了但是没在docker中配置数据迁移。这时需要手动迁移一下。第1步,使用下面这条命令,在跑起来之后,给backend这个容器分配一个命令行:
sudo docker exec -it tsimagepathologydiagnosis_backend_1 /bin/bash
第2步,使用数据迁移命令
# 猜测:DJ2.0之后不需要再migrate,但是要重新up
python manage.py makemigrations
注1:exec是docker下在一个分命令,并不是一个参数
注2:exec只有在up起来之后才能用
- API数据删除操作:先down下来,然后在项目中删除/Database/data文件夹,再up。跑起来之后,像手动迁移那样进入docker的backend,然后输入如下命令重建。其中邮箱可以随便输
python manage.py createsuperuser
- 新建病人一定要输入openid,这个可以使用uuid生成器的网站
- 如果我们把docker-compose改成了6389,那么对应的task中的models也一定要改:
conn = Redis(host='redis', port='6389')
不然还是按照默认的6379来访问,就会被认为redis跑不起来
- 如果已经装好了qworker,那么想开起来是很简单的。首先打开一个screen,然后进入worker_1目录,输入
qworker -t wsi -r 3 -h 127.0.0.1 -s false -p /home/ubuntu
最后ctrl+a+d关闭screen就可以了
- 如果发现有的包导不进去但是requirements又明明装了这些包,那么可以把相应服务的Dockerfile改为pip install -U -r。引自知乎网友:-U 是升级 原来已经安装的包,如果有新版本,不带U不会装新版,带上才会更新到最新版本
关于DICOMFetch:
- 要运行如下代码开启服务,才能够起跑query的py文件
./dcmqrscp.exe -b DCMQRSCP:11112 --dicomdir ./DICOMDIR
- 有的时候跑Py需要起跑路径,所以还是在命令行里面跑靠谱。照这么说苹果电脑就很重要了。
网友评论