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' |

浙公网安备 33010602011771号