从零开始自动部署Django项目(四): 在Docker中部署Django项目

引言

在前面几篇从零开始自动部署Django项目的系列文章中,主要是解决了本地开发机和远程开发服务器的代码同步问题,但是并没有解决开发环境上的同步问题。前几天,笔者就遇到了“在本地上跑的好好的呀”这样的问题,因此开始研究Docker试着能否解决这个问题。
Attention : 比较尴尬的一点是当前的Docker官网仍然假设在国外,因此如果需要查阅Docker的官方文档请自备梯子。

准备

  • 什么是Docker?

    Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。
    《第一本Docker书》

    • 通俗点来说,大家的关注点主要是在docker的容器虚拟化,相比传统的虚拟机而言,容器显得更轻量级,因为容器是运行在操作系统内核上的用户空间。
    • 既然运行在操作系统上,容器就必须依赖宿主机的操作系统。在本文中笔者使用的是Mac OSX系统,因此在Mac上安装Docker 的时候,还会额外安装一个很轻量的虚拟机(通过docker-machine命令来启动),然后通过这个虚拟机作为使用ubuntu系统的容器的宿主机。那么,如果是一台安装了ubuntu系统的电脑,在安装Docker的ubuntu容器的时候就不需要安装虚拟机了,它本身就可以作为宿主机。
    • 官方Docker文档传送门:What is Docker?
  • Docker的组成
    • Docker的服务器(服务器中运行着守护进程)和客户端
    • Docker的容器和镜像
    • Docker Registry
  • 本文笔者所使用的是电脑环境为:
➜  ~ uname -a
Darwin crazy-leavesdeMacBook-Pro.local 15.6.0 Darwin Kernel Version 15.6.0: Thu Jun 23 18:25:34 PDT 2016; root:xnu-3248.60.10~1/RELEASE_X86_64 x86_64

在Mac上安装以及运行Docker

Docker Toolbox

由于笔者在Docker开发出Docker for Mac之前就已经安装了Docker, 因此笔者在Mac上使用的是Docker Toolbox。
安装Docker toolbox的过程请参考官网链接:Install Docker Toolbox on Mac OSX
在安装完Docker Toolbox之后,Mac系统上会出现以下工具:

  • Docker CLI client for running Docker Engine to create images and containers
  • Docker Machine so you can run Docker Engine commands from Mac OS X terminals
  • Docker Compose for running the docker-compose command
  • Kitematic, the Docker GUI
  • the Docker QuickStart shell preconfigured for a Docker command-line environment
  • Oracle VM VirtualBox

然后就可以直接在命令行里使用这三条命令了:

$ docker
$ docker-machine
$ docker-compose

当笔者迫不及待的在命令行上输出:

$ docker info
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

刚才笔者已经提及了Docker的服务器中运行着守护进程,而服务器在虚拟机中,因此要先启动虚拟机。

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值