跳至主要內容
基本概念及常用命令

镜像image

分层存储

容器container

基于镜像的最上层再加一层,作为容器的存储层。他和镜像的关系类似与实例

仓库

常用命令

docker run --name web2 -d -p 81:80 nginx:v2 //基于nginx:v2镜像启动名为web2的容器并映射本机81端口到容器的80端口
docker image ls // 列出镜像
docker image ls -a // 列出中间层镜像
docker container ls // 列出容器
docker rmi $(docker images -a -q) // 删除没有使用的镜像
docker ps |grep $(name) // 筛选过滤

Cap原创大约 1 分钟docker
docker处理

前端docker容器

前端的镜像里面包含nginx服务,外部请求过来后,会先经过load-balance(以下简称LB)来进行一个转发,比如技能开发的URL为/skill/,LB会将此路径的请求转发到skill-ui容器,skill-ui容器里面nginx会依据配置,将/skillAPI/路径下的请求转发到配置好的skill_backend_url容器。
下图是网页的一个请求:
image.png
下图是skill-ui中nginx的配置:
image.png


Cap原创大约 1 分钟docker
梳理开发部署流程

本地开发

在本地开发中,是先运行deploy/dev下的run_ui.sh
这个shell命令的作用是配置好nginx,使用docker-compose配置文件的方式,本地起一个docker容器
接着起本地项目,然后实现本地开发

docker-compose:

我们知道使用一个 Dockerfile 模板文件,可以让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。
Compose 恰好满足了这样的需求。它允许用户通过一个单独的 docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。


Cap原创大约 1 分钟docker