目录:
1安装docker
2根据dockerfile requirement生成一个镜像
进入镜像 check镜像是否符合要求
3.在原有的镜像上添加功能
3.1利用dockerfile
3.2 进入镜像安装 之后commit
4 编写 docker-compose.yml
5 利用docker-compose 让主机里的代码使用该镜像运行
6 makemigrations和 makemigrate
7 浏览器通过外(公)网访问
1 安装 docker
先明确如果要在自己windows上来封装容器就下docker desktop。然后你可以本地做好容器commit到docker hub,在服务器上pull你自己做好的image就可以了。
直接上阿里云服务器封装就直接上服务器安装。给个传送门,讲的很清楚。
https://www.jianshu.com/p/f02d63ee98e0
如果还是没懂,具体怎么开始部署,那可以看我这个blog,我们从安装xshell开始
https://blog.csdn.net/weixin_41147129/article/details/104920735
win安装 docker desktop
安装前提:
1 那么首先检查电脑的虚拟化开启了没有:进入任务管理器(ctrl+alt+delete),点击性能->cpu ,查看虚拟化是否已启用,如果虚拟化是已禁用,那么你需要重启电脑进入bios开启虚拟化(我们的发的笔记本cpu都是支持虚拟化的,重启时进入bios按esc -> 再按f12 -> 去开启虚拟化)
开启虚拟化重启后,进入任务管理器看虚拟化是否已启用。
2
然后再是进入电脑的控制面板->程序->启用或关闭Windows功能->把Hyper-v勾上,启用后电脑会重启,后面就可以下载并安装Docker for Windows了。
Ps: Windows: 不建议系统是家庭版的用户 强行增加hyper-v,容易引起docker和虚拟机混乱。
Runtimeerror: 当pip和apt-get的时候遇到连接不上网络,urllib3 runtimeerror相关问题,建议换源 具体可上网查询 pip换源
给大家一个宝贝,DockerDesktop在官网下载实在太慢,太慢了,这里给出 docker Windows 的百度云资源链接
链接:https://pan.baidu.com/s/1KiEsAzz1gbeIhmZhfnSIYg
提取码:rmn8
2根据dockerfile requirement生成一个镜像
$ docker images
看现有镜像
$ docker ps
查看现有容器
$Vim requirement.txt
#你需要在python里面装的包都可以放在requirement里面
requirment :
Django
zmq
django-registration
stripe
mysql
apscheduler==2.1.2
opencv-python
$vim dockerfile
Dockerfile:(这个文件名是固定的)
FROM python:3.6
#3.6不用声明系统是ubuntu还是Windows ,python36可以跨平台
ENV PYTHONUNBUFFERED 1
RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get -yq install sqlite3 && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
#如果是centos这两句就不用跑了,这两句是ubuntu的
#run后面是你要安装的东西 可以理解为在镜像里面run了这个指令
#可以把需要安装的包全部声明在requirement.txt里面也可以 run 一个个安装
RUN mkdir /code
#在你的镜像里创造一个文件夹
WORKDIR /code
#把镜像的工作地址设置为那个文件夹
ADD requirements.txt /code/
#把主机上的 requirement.txt添加到刚刚创立的文件夹里面
RUN pip install -r requirements.txt #运行根据requirement.txt安装
ADD . /code/
#把当前目录的内容添加到code文件夹里
这和上面的内容是一样的,上面是为了方便你看。
FROM python:3.6
#3.6不用声明系统是ubuntu还是Windows ,python36可以跨平台
ENV PYTHONUNBUFFERED 1
RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get -yq install sqlite3 &&
rm -rf /var/lib/apt/lists/* /tmp/