我们所在的内网环境需要部署一个类似CMS的应用,就是一些表格的CRUD,数据导出,人员权限管理等功能。想到Django做这方面的工作挺擅长的,而且开发量不大,于是选择Django作为开发基础。开发功能比较简单,差不多就是使用xadmin等插件实现以上功能。但有一个问题我们是不好绕过去的,那就是部署到一个内网环境,在内网pip等工具是不能使用的,但好在内网有一个yum服务器可以使用,所以我们决定在内网服务器上安装Docker,然后把开发环境的容器复制到生产环境实现部署。以下是主要的步骤:
安装开发环境的 Docker-ce
安装开发环境的 Docker-compose
配置开发环境
保存容器
安装生产环境的 Docker-ce 和 docker-compose
发送容器文件并运行
注意:我这里的开发环境是Ubuntu18.04,生产环境是Centos7.2。如果你是其他环境请自己检查差异,使用适合自己系统的命令。
安装开发环境的 Docker-ce
Docker 和 Docker-compose是我们这次部署需要重点演示的内容,Django 的应用部分我会尽量缩减的。Docker 负责容器虚拟化的底层部分,Docker-compose 是一个容器编排工具,有了它咱们就不用手写 shell 实现容器之间的连接了。我们先安装 Docker-ce,这里主要是参考 Docker 的官方文档,如果我写的不够详细或者已经过时,各位看官可到官方查看更权威更新的文档。
卸载旧版本
在安装之前需要卸载旧版本的 docker,如果你是新系统,可以忽略这一步。
$ sudo apt remove docker docker-engine docker.io containerd runc安装用用到的 apt 仓库
更新apt包索引
$ sudo apt update允许apt通过https访问仓库
$ sudo apt install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
增加Docker的官方GPG key
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -增加Docker的仓库
$ sudo add-apt-repository
"deb [arch=amd64] https://download.docker.com/linux/ubuntu
$(lsb_release -cs)
stable"
安装 Docker-ce
做好以上的准备后安装Docker-ce就简单了,熟悉Ubuntu的话,很快就能装好。
$ sudo apt update
$ sudo apt install -y docker-ce安装完成后,启动 docker 服务并使其能够在每次系统引导时启动。
$ sudo systemctl start docker










