此平台支持普通部署和docker部署,当前文章介绍docker部署
若在服务器部署本项目端口默认使用8088
,请在安全组内提前放开此端口
安装docker环境(ubuntu系统)
安装docker
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install docker.io
安装docker-compose
使用如下链接下载安装
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
修改二进制权限
sudo chmod +x /usr/local/bin/docker-compose
检查docker和docker-compose版本
docker -v
docker-compose -v
设置镜像仓库源
默认的镜像仓库是国外的,拉取镜像的速度很慢,所以为了方便镜像获取,可以更改镜像源,方法是添加一个配置文件
sudo vi /etc/docker/daemon.json
添加信息如下
{ "registry-mirrors": ["https://registry.docker-cn.com"] } 重启容器服务,生效
sudo systemctl daemon-reload
sudo systemctl restart docker
配置mysql环境
下载mysql镜像
docker pull mysql:5.7
下载redis镜像
docker pull redis:alpine
拉取docker部署代码,包含mysql和redis的部署
git clone https://github.com/zhangmoumou1/common-docker
在此根目录执行命令,启动mysql和redis服务
docker-compose up -d
执行结果如下,可使用链接工具查看mysql和redis是否正常
root@VM-0-5-ubuntu:~/dockers/common-docker# docker-compose up -d
WARNING: Some networks were defined but are not used by any service: frontend
Creating network "common-docker_backend" with driver "bridge"
Creating redis ... done
Creating mysql ... done
准备平台镜像
这里博主提供了公开镜像,直接拉取即可。也可以自己拉取代码构建容器
docker pull ccr.ccs.tencentyun.com/zhangyancheng/test_data_factory:1.0
修改配置
拉取docker部署代码
git clone https://github.com/zhangmoumou1/TestDataFactory-docker.git
docker配置
执行以下命令,重命名配置文件名称
mv env.template .env
修改.env
文件配置,设置mysql连接信息
# db
MYSQL_IMAGE=mysql:5.7
MYSQL_IP=127.0.0.1
MYSQL_ROOT_USERNAME=root
MYSQL_ROOT_PASSWORD=123456
MYSQL_NAME=TestDataFactory
# web
TestDataFactory_IMAGE=ccr.ccs.tencentyun.com/zhangyancheng/test_data_factory:1.0
# nginx
NGINX_IMAGE=nginx:stable-alpine
NGINX_PORT=8088
nginx配置
如果关联域名部署,需要修改nginx/conf.d/TestDataFactory.conf,server_name
改为域名地址,如www.xxx.com
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://web:8088;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-User-Agent $http_user_agent;
}
location /static/ {
root /usr/share/nginx/TestDataFactory;
}
location /media/ {
root /usr/share/nginx/TestDataFactory;
}
}
部署平台
在docker代码根目录下,执行以下命令启动容器
docker-compose up -d
分别执行以下2个命令,进行数据库迁移创建
docker-compose run web python manage.py makemigrations
docker-compose run web python manage.py migrate
收集静态资源
docker-compose run web python manage.py collectstatic
然后执行重启
docker-compose down
docker-compose up -d
看到如下输出就是容器已经在后台运行了
root@VM-0-5-ubuntu:~/dockers/TestDataFactory-docker# docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------------------------------
TestDataFactory_nginx /docker-entrypoint.sh ngin ... Up 0.0.0.0:443->443/tcp, 0.0.0.0:8088->80/tcp
TestDataFactory_web supervisord -n -c supervis ... Up
访问平台
此时访问IP+8088
打开页面
首页入口
功能详情
提交记录
版权声明:如无特殊说明,文章均为本站原创,转载请注明出处
本文链接:http://zhangyanc.club/subject/article/django_tools_docker/
许可协议:署名-非商业性使用 4.0 国际许可协议