Global Terrorist Attacks Visualization System - Deploy Solution by Docker-compose
-
postgis
数据库容器,负责数据服务,数据导入在此模块中完成
-
django
后台服务容器,负责数据 API 的提供
-
nginx
反向代理服务器,负责静态文件的代理和 Django API 的反向代理
三个容器均处于 network
网络下,通信 IP 为容器的服务名
-
postgis
在
network
网络内部暴露5432
端口,供django
容器连接 -
django
连接
postgis
容器的5432
端口,并使用uwsgi
开启 socket 通信,对生成的gtd-background.sock
文件实现持久化,供nginx
访问 -
nginx
通过
gtd-background.sock
文件和django
容器通信
-
postgresql-data
储存
postgis
容器的数据 -
uwsgi-sock
储存
gtd-background.sock
文件,提供django
容器和nginx
容器的通信 -
static-files
负责静态文件的持久化。静态文件由
django
容器和nginx
容器产生,由nginx
容器负责代理 -
logs
存放日志文件。
postgresql
文件夹存放postgis
容器的数据库日志,django-uwsgi
文件夹存放django
容器的访问日志,nginx
文件夹存放nginx
容器的代理日志
所有的环境变量在 .env
文件中定义,一共 7 个
-
ENV_DOCKER_USER
镜像用户,默认为
cstao
-
ENV_NGINX_PORT
nginx
容器对外暴露的数据 API 和静态文件的访问端口,默认为2001
-
ENV_POSTGIS_PORT
postgis
容器对外暴露的数据库连接端口,默认为2032
-
ENV_POSTGRES_DB
存放数据的数据库,默认为
gtdb
-
ENV_POSTGRES_USER
访问
ENV_POSTGRES_DB
的用户,默认为cstao
-
ENV_POSTGRES_PASSWD
ENV_POSTGRES_USER
用户的密码,默认为cstao
-
ENV_POSTGRES_PASSWD_ADMIN
postgres
用户的密码,默认为0000
-
构建镜像
本地构建:
docker-compose build
或者从 store.docker.com 拉取:
docker-compose pull
-
创建并启动服务
同步:
docker-compose up
异步:
docker-compose up -d
-
导入数据到 postgresql 数据库
利用
docker ps
命令得到postgis
容器的ID
,然后在postgis
容器中执行导入数据的命令(pg_dumped_data-url
应该替换为自定义的 sql 数据的 URL,如果不指定该参数,则默认使用https://github.com/CS-Tao/GTD-Docker/releases/download/v1.0.0/gtdb.sql
作为源数据):docker exec -i <postgis-container-id> import_data [pg_dumped_data-url]
-
启动/停止/重启服务
启动:
docker-compose start
停止:
docker-compose stop
重启:
docker-compose restart
-
暂停/恢复服务
暂停:
docker-compose pause
恢复:
docker-compose unpause
-
停止并移除由
docker-compose.yml
定义的服务容器和网络- 添加
--rmi type
参数可以移除镜像,tpye
可以为all
或local
,all
表示移除所有镜像,local
表示只移除没有定义标签的镜像 - 添加
-v
或--volume
参数可以移除所有在docker-compose.yml
中定义的数据卷
docker-compose down [--rmi <all>|<local>] [-v|--volume]
- 添加
CS-Tao |
---|