Dokcer基本概念

Dokcer基本概念

一、Dokcer与虚拟机

  Host OS : 真实电脑的操作系统,例如:Windows,Linux

  Hypervisor :虚拟机平台,模拟硬件,如VMWare,VirtualBox

  Guest OS:虚拟机平台上安装的操作系统,例如CentOS Linux

  Docker Engine: 新一代虚拟化技术,不需要包含单独的操作系统

  bins/libs:可执行文件和函数库

  App: 系统上的应用,例如nginx

 

 二、Docker三大件

  • 镜像

  Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的 一套 Ubuntu16.04 最小系统的 root 文件系统

  • 容器

  镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的 定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

  • 仓库

  仓库可看成一个代码控制中心,用来保存镜像

 

  Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器
  Docker 容器通过 Docker 镜像来创建

 

三、Docker基本命令

  • 万能命令

  1.docker help

  • 镜像相关  

          1. docker images

         2. docker search

  • 容器相关

  1. docker ps
  2. docker run
  3. docker start stop rm restart

  • 构建相关 

  1. docker build

 

 四、Dockerfile编写

  Dockerfile 是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。

       Docker通过读取Dockerfile中的指令自动生成映像。

  docker build 命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile
        例:docker build -f /path/to/a/Dockerfile


  #使用基础镜像
  FROM nginx:latest

  ENV RUN_USER nginx
  ENV RUN_GROUP nginx
  ENV DATA_DIR /var/www/html #ADD

  #RUN 执行以下命令
  RUN mkdir -p /var/www/html

  #COPY
  COPY ./resource/ /var/www/html
  COPY ./logs /var/www/html
  COPY ./conf/nginx.conf /etc/nginx

  #EXPOSE 映射端口
  EXPOSE 8082

  #CMD 运行以下命令
  CMD ["nginx", "-g", "daemon off;"]

 

五、Docker仓库-Harbor

       Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

 

六、Dockerfile服务编排

  Docker-compose:是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务

  docker-compose.yml

version: '3'
services:
ecgw-fat:
image: harbor.ctyuncdn.cn/eecdn/ecgw:release
container_name: cluster_ecgw_fat
restart: "always"
privileged: false
network_mode: host
volumes:
- ./ssl:/usr/local/openresty/nginx/ssl
- ./config:/usr/local/openresty/nginx/config
- ./info:/usr/local/openresty/nginx/info
- ./logs:/usr/local/openresty/nginx/logs

 

posted @ 2021-08-19 09:18  cforcnb  阅读(524)  评论(0)    收藏  举报