- 拉取docker mysql镜像
docker pull docker.io/mysql:5.7
- 运行docker mysql容器
docker run --name mysql --net=host -d --restart always -v /var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=faster12356 docker.io/mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
- 命令解释
# --name mysql : 容器名字叫mysql
# --net=host : 网络模式是host
# -d : 容器后台运行
# --restart always : 容器自动重启
# -v /var/lib/mysql:/var/lib/mysql : -v 容器数据卷挂载,宿主机目录:容器目录
# -e MYSQL_ROOT_PASSWORD=faster12356 : mysql容器的root用户密码为faster12356
- 进入mysql容器
docker exec -it mysql /bin/bash
- 用root用户连接mysql
mysql -uroot -pfaster12356
- 创建远程登陆
faster
用户,密码是faster2019
CREATE USER 'faster'@'%' IDENTIFIED BY 'faster2019';
- 创建
db_faster
数据库create database db_faster default charset utf7 collate utf8_general_ci;
- 授权给
faster
用户
grant all privileges on db_faster.* to 'faster'@'localhost' identified by 'faster2019'; # 本地授权
grant all privileges on db_faster.* to 'faster'@'%' identified by 'faster2019'; #远程授权
flush privileges; # 刷新权限表,使授权生效
- 修改数据库设置
生产环境的数据库配置,路径是/FasterRunner/settings/pro.py
里面DATABASES
字典相关配置NAME,USER,PASSWORD,HOST
- 运行RabbittMQ
# 跟宿主机同一个网络启动
docker run -d --name rabbitmq --net=host --restart always -e RABBITMQ_DEFAULT_USER=username -e RABBITMQ_DEFAULT_PASS=password rabbitmq:3-management
# 指定端口和网络启动
docker run -d --hostname my-rabbit --name rabbit --restart always -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=username -e RABBITMQ_DEFAULT_PASS=password rabbitmq:3.7.7-management
- 配置
RabbittMQ
在/FasterRunner/settings/base.py
修改BROKER_URL
的IP,username,password
docker build -t fastrunner:latest .
docker run -d --name fastrunner --net=host --restart always fastrunner:latest
docker exec -it fastrunner /bin/sh
# 指定--settings=FasterRunner.settings.pro文件来生成fastrunner fastuser djcelery数据库脚本
python3 manage.py makemigrations --settings=FasterRunner.settings.pro fastrunner fastuser djcelery
# migrate for database
python3 manage.py migrate --settings=FasterRunner.settings.pro fastrunner
python3 manage.py migrate --settings=FasterRunner.settings.pro fastuser
python3 manage.py migrate --settings=FasterRunner.settings.pro djcelery
# 启动Docker
sudo systemctl start docker
# 查看日志fastrunner容器日志
docker container logs fastrunner
# 正在运行的容器
docker container ls
# 删除容器fastrunner
docker container rm fastrunner
# 停止容器fastrunner
docker container stop fastrunner
# 启动容器fastrunner
docker container start fastrunner
# Docker镜像
docker images