Docker部署Angular+Nginx+uwsgi+Django项目
0、前言
在开发部署时,容易遇到服务器环境不一致,多台服务重复部署操作过于繁杂的情况。这时可以采用Docker来提供一套统一的环境和帮助我们快速部署项目。
本篇文章先介绍下Docker是什么,怎么安装使用,然后用一个比较常见的Angular+Nginx+uwsgi+Django框架模式的项目的说明怎么用Docker将各个服务结构搭建连接使用,说了下怎么利用Docker来提供环境来生成Angular编译打包的文件。第一章简单的介绍Docker并说明其安装方式(已了解过Docker可以忽略)。
第二章说明各个结构服务项目部署以及其配置文件。
第三章怎么使用Docker Compose对Docker进行整合运用发布。
1、Docker介绍
Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。
在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。
Docker的应用场景
- Web 应用的自动化打包和发布。
- 自动化测试和持续集成、发布。
- 在服务型环境中部署和调整数据库或其他的后台应用。
- 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
1.1、Docker 安装
命令行运行docker命令的时候,需要本机有 Docker 服务。
安装方式最好根据官方文档说明进行安装。
这里说明下Debian系统的安装流程
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
如果服务没有启动,可以用以下指令启动
sudo service docker start # service 命令的用法
sudo systemctl start docker # systemctl 命令的用法
验证是否安装成功
sudo docker run hello-world
查看到Hello from Docker 即表示安装成功
Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组。
注:输入指令后需要关闭终端重新连接生效。
sudo usermod -aG docker $USER
1.2、Docker基本概念
Docker主要有三个基本概念,仓库(Repository)、镜像(Image)、容器(Container)。
仓库:Docker仓库的概念和Git类似,仓库注册服务器可以理解为GitHub的托管服务。其区别在于Git仓库是提供代码文件的存储和下载,Docker仓库是提供镜像文件存储和下载,用户创建了镜像后可以push到仓库中,下次需要使用可以从仓库pull下来。
仓库分为公开仓库(Public)和私有仓库(Private)两种形式,仓库的概念有时会和仓库注册服务器(Registry)混为一谈,但实际是仓库注册服务器上存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同标签(tag)。
Docker官方维护了一个公共仓库 Docker Hub ,基本的需求都可以通过Docker Hub 下载镜像实现。
用户无需登录即可通过
docker search命令来查找官方仓库中的镜像,并利用docker pull命令来将它下载到本地。
镜像:Docker 把应用程序及其依赖,打包在 image 文件里面。只有通过这个文件,才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。
容器:Docker利用容器运行应用,是从镜像创建的实例。每个容器都是相互隔离。
可以通过–help 查

本文详细介绍了如何使用Docker部署包含Angular、Nginx、uwsgi和Django的项目。首先讲解了Docker的基础知识,包括安装和基本概念。接着阐述了各个服务的部署步骤,如MySql服务容器、Web应用容器(涉及uwsgi配置和Django项目启动)、Nginx服务容器(Angular编译和Nginx配置)。最后,讨论了Docker Compose的安装和配置,用于简化和自动化多容器应用的部署。
最低0.47元/天 解锁文章
1587

被折叠的 条评论
为什么被折叠?



