docker下项目容器配合mysql容器部署
1.镜像传输
1. docker save -o mysql.tar(保存镜像文件别名) mysql:5.7(镜像名)
2. docker load -i mysql.tar(目标地址镜像加载)
3. scp mysql.tar root@ip:/opt/(目标地址镜像传输指定文件夹)
2.docker 自定义局域网
docker network create my_net(自定义网络名称)
3. mysql 自定义网络下启动
docker run -d --name mysql --network my_net --network-alias mysql -v /home/zhouyunpeng/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
参数说明:
-d 后台运行
--network 声明所在网络
--network-alias mysql在自定义网络中的别名
-v 数据持久化(/my/own/datadir:/var/lib/mysql)
-e 环境变量
3.1 进入mysql 容器添加项目所使用的数据库
docker exec -it some-mysql bash
>>mysql -uroot -p
>>create database demo charset=utf8;
4.python环境与项目同局域网下启动
docker run --name ddsx -network my_net -p 8000:9000 -d ddsx
5.项目dockerfile制作
FROM b0dee8d708b9
COPY ./ddsx /opt/ddsx/
WORKDIR /opt/ddsx/
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
COPY ./operations.py /usr/local/lib/python3.7/site-packages/django/db/backends/mysql/operations.py
EXPOSE 9000
CMD ["python","manage.py","runserver","0.0.0.0:9000"]
6.进入项目容器迁移数据库
docker exec -it programe bash
>>python manage.py check
>>python manage.py makemigrations app01
>>python manage.py makemigrations app02
>>python manage.py migrate
docker(django+mysql)部署,解决多项目环境问题