使用Docker打包发布Django应用

阿里云服务器环境:

  • 系统:CenterOS 7.3
  • 1核2GB

1. 打包本地镜像文件

dockerhub上有django的dockerfile文件
使用Docker打包发布Django应用_第1张图片
首先在本地的Django文件根目录下创建Dockerfile文件,把上面这段话复制到dockerfile里,我的目录结构是这样的
使用Docker打包发布Django应用_第2张图片
然后创建requirements.txt,在里面添加自己需要的依赖环境
使用Docker打包发布Django应用_第3张图片
然后我使用的是vscode,直接右键dockerfile,选择Build Image。
这样你的Django应用镜像就打包在了本地。

2. 上传镜像到阿里云的镜像仓库

然后就是上传镜像仓库,我用的是阿里云的镜像仓库
在阿里云的容器镜像服务里创建一个新的镜像仓库,创建之后镜像仓库会有一个管理选项使用Docker打包发布Django应用_第4张图片
然后在本地使用按照图片内容将镜像推送到registry就可以了。这样你的镜像就被推送到了你的阿里云的镜像仓库。

3. 在服务器上拉取阿里云的镜像

首先要在你的服务器上安装docker
我使用的也是阿里云的服务器,打开服务器的bash命令行
先更新一下yum

yum update -y

然后解决docker的依赖环境

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2

然后将dockerhub替换为阿里云的镜像源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

最后安装Docker

yum install -y docker-ce

安装完docker后就是从阿里云的镜像仓库里拉取你的镜像了
第二部分的图中也有拉取镜像的方法,照着输就可以了
最后让你的这个镜像在服务器的docker上跑起来,输入

docker run -d --name 取名字 -p 8000:8000 mybot

8000是我在打包时就设置的启动端口,将其映射到服务器的8000端口,最后通过你的服务器加上端口名就可以在本地浏览器中打开这个站点了,还有服务器的防火墙中要把8000解开,在阿里云的安全组那里就可以添加。

你可能感兴趣的:(Django,Docker)