博客
关于我
一分钟了解Docker
阅读量:436 次
发布时间:2019-03-06

本文共 1733 字,大约阅读时间需要 5 分钟。

Docker概述

Docker和虚拟机一样,都拥有环境隔离的能力,但它比虚拟机更加轻量级,可以使资源更高效地利用。Docker的主要用途包括简单配置、代码流水线管理、开发效率提升、应用隔离、服务器整合、调试能力增强、支持多租户以及快速部署等。

Docker客户端(Client)作为用户界面,接收用户的命令(如docker builddocker pull等)和配置标识,与Docker daemon通信。Docker镜像(Images)是一个只读模板,用于创建Docker容器的基础,类似于操作系统的安装光盘。Docker容器(Containers)是镜像的运行实例,镜像与容器的关系类似于面向对象中的类与对象。

Docker Registry是一个集中存储与分发镜像的服务,官方最常用的平台是Docker Hub。

Docker与VM对比

与传统的虚拟机(VM)相比,Docker具有以下优势: 1. 轻量级:Docker容器的启动时间短,资源消耗低。 2. 一键部署:无需为每个容器预先分配大量资源。 3. 容器共享:容器之间可以共享主机的内核,减少资源浪费。 4. 灵活性:容器可以在任何支持Docker的平台上运行,无需重装系统。

尽管如此,VM仍然有其优势,例如更强的资源隔离性和更复杂的硬件支持。

Docker与Openstack对比

Docker和Openstack各有特点: - Docker更适合开发者和小型应用,快速部署和横向扩展能力强。 - Openstack适合企业级的私有云和复杂的云计算场景,提供更全面的资源管理功能。

Docker常用命令

以下是Docker的核心命令: 1. `docker pull`:下载镜像。 2. `docker build`:构建镜像。 3. `docker run`:运行容器。 4. `docker ps`:查看运行容器。 5. `docker images`:列出本地镜像。 6. `docker login`:登录Docker Registry。

Docker容器映射

Docker容器可以通过以下方式与主机进行端口映射: - `-p 8080:80`:将主机的8080端口映射到容器的80端口。 - `-p 0.0.0.0:8080`:将容器的8080端口暴露给外部网络。

Dockerfile容器构建

Dockerfile是定义容器的文本文件,包含操作系统安装、依赖添加、应用安装等步骤。基本结构如下: ```dockerfile # 基础信息 FROM base # 添加工作目录 WORKDIR /app # copying文件 COPY . . # 指定入口点 ENTRYPOINT ["cmd", "--version"] ```

Swarm

Swarm是Docker官方提供的集群管理工具,通过将多台Docker主机抽象为一个整体,统一管理Docker资源。Swarm的主要功能包括: - 多主机资源管理。 - 服务发现与负载均衡。 - 资源分配与扩展。

与Kubernetes相比,Swarm更轻量,特性更贴近Docker,适合小型集群场景。

Portainer

Portainer是Docker的图形化管理工具,提供以下功能: - 状态显示面板。 - 应用模板快速部署。 - 容器镜像、网络数据卷操作。 - 集群和服务集中管理。 - 容器控制台访问。 - 用户权限管理。

运行实例

以下是使用Docker部署Nginx的示例: ```bash # 安装Docker sudo yum -y install docker

验证版本

docker -v

启动Docker服务

sudo systemctl enable docker

sudo systemctl start docker

拉取Nginx镜像

docker pull docker.io/nginx:latest

启动Nginx容器

docker run -d -p 8080:80 docker.io/nginx

查看运行容器

docker ps

访问`localhost:8080`即可查看运行的Nginx服务。

转载地址:http://wwnyz.baihongyu.com/

你可能感兴趣的文章
NR,NF,FNR
查看>>
nrf24l01+arduino
查看>>
nrf开发笔记一开发软件
查看>>
nrm —— 快速切换 NPM 源 (附带测速功能)
查看>>
nrm报错 [ERR_INVALID_ARG_TYPE]
查看>>
NS3 IP首部校验和
查看>>
NSDateFormatter的替代方法
查看>>
NSError 的使用方法
查看>>
NSGA-Ⅲ源代码
查看>>
nsis 安装脚本示例(转)
查看>>
NSJSON的用法(oc系统自带的解析方法)
查看>>
nslookup 的基本知识与命令详解
查看>>
NSNumber与NSInteger的区别 -bei
查看>>
NSOperation基本操作
查看>>
NSRange 范围
查看>>
NSSet集合 无序的 不能重复的
查看>>
NSURLSession下载和断点续传
查看>>
NSUserdefault读书笔记
查看>>
NS图绘制工具推荐
查看>>
NT AUTHORITY\NETWORK SERVICE 权限问题
查看>>