docker学习(一)

一、docker简介

容器( container-based )虚拟化方案,充分利用了操作系统本身已有的机制和特性,以实现轻量级的虚拟化(每个虚拟机安装的不是完整的虚拟机),甚至有人把他称为新一代的虚拟化技术, Docker 无疑就是其中的佼佼者。

在一台服务器上同时运行上百个虚拟机,肯定会被认为是痴人说梦,而在一台机器上同时运行一千个 Docker 容器,这已成为现实。

1、Docker 的目标:

Build,Ship and Run Any App,Anywhere— 即通过对应用组件的封装 (Packaging), 发布(Distribution), 运行(runing) 等生命周期的管理 , 达到应用组件级别的“一次封装 , 到处运行”

2、docker的特点

优点:
启动快,资源占用小,资源利用高,快速构建标准化运行环境
创建分布式应用程序时快速交付和部署,更轻松的迁移和扩展,更简单的更新管理
局限性:
docker是基于Linux 64bit的,无法在Windows/unix 或32bit 的linux环境下使用
LXC是基于cgroup等linux kernel 功能的,因此container的guest系统只能是linux
隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库
管理相对简单,主要是基于namespace隔离
cgroup的cpu和cpuset提供的cpu功能相比kvm的等虚拟化方案相比难以度量 (所以dotcloud主要是按内存收费)
docker对disk的管理比较有限
container随着用户进程的停止而销毁,container中的log等用户数据不便收集

3、docker与虚拟机比较

启动快比虚拟机 , 可以秒级启动
对资源占用小 , 宿主机上可运行千台容器
方便用户获取 , 分布 , 和更新应用镜像 , 指令简单 , 学习费用低
通过 Dockerfile 配置文件来灵活的自动创建和部署镜像 & 容器 , 提高工作效率
Docker 除了运行其中应用外 , 基本不消耗其他系统资源 , 保证应用性能同时尽量减小系统开销

4、docker重要网站

https://hub.docker.com/ (官方镜像站)
https://docs.docker.com/ (官方文档站)

二、docker安装

环境准备
操作系统:CentOS 7.6.1810
软件源:阿里云镜像(在阿里云镜像站上面可以找到docker-ce的软件源,使用国内的源速度比较快)

安装docker-ce

1、安装依赖

docker依赖于系统的一些必要的工具,可以提前安装。

yum install -y yum-utils device-mapper-persistent-data lvm2
2、添加软件源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装docker-ce
yum clean all 
yum makecache 
yum -y install docker-ce
4、启动服务
systemctl start docker
5、查看安装版本
[root@ceph-dp ~]# docker version
Client:
 Version:       18.03.0-ce
 API version:   1.37
 Go version:    go1.9.2
 Git commit:    0520e24
 Built: Wed Mar 21 23:05:52 2018
 OS/Arch:       linux/amd64
 Experimental:  false
 Orchestrator:  swarm

Server:
 Engine:
  Version:      18.03.0-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.4
  Git commit:   0520e24
  Built:        Wed Mar 21 23:14:54 2018
  OS/Arch:      linux/amd64
  Experimental: false

三、docker镜像

镜像(docker image) — Docker 运行容器之前需要本地存在镜像,若本能地不存在,那么 Docker 会找默认镜像仓库( Docker Hub 公共注册服务器中的仓库)下载,用户也可以通过配置使用自己的镜像库

(1)下载镜像
#docker pull NAME:TAG 

下载某个被打上了某个标签的叫 ×× 名字 的镜像

eg: 
docker pull centos:latest 

若在下载时你未指定标签,默认追加 latest标签,表示库中最新镜像 镜像在下载过程中是分层的,并且在每层前会有各层的 ID号,层(Layer ) 是 AUFS (联合文件系统)的重要概念,是实现增量保存与更新的基础

实际上面的命令的原型是

#docker pull registry.hub.docker.com/centos:7 

即从默认的注册服务器下载指定的镜像当然,以此你也可以用这种格式到其他仓库下载你所需要的镜像了!!!

(2)查看本地镜像相关信息
#docker images 

显示结果: 
[root@ceph-dp ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mariadb             latest              56089178535f        12 days ago         349MB
centos              latest              9f38484d220f        3 months ago        202MB

a.源自哪个仓库
b.标签信息 —用于区分同一个仓库的同名镜像可用 docker tag仓库名: 标签名 新库名:新标签
c. 镜像 ID
d. 创建时间
e. 镜像大小

(3)搜索库中满足需求的镜像,以此下载符合需求的镜像文件
#docker search centos
显示结果:
[root@ceph-dp ~]# docker search centos
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   5406                [OK]                
ansible/centos7-ansible            Ansible on Centos7                              121                                     [OK]
jdeathe/centos-ssh                 CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804 x86…   110                                     [OK]
consol/centos-xfce-vnc             Centos container with "headless" VNC session…   91                                      [OK]

a.哪个库
b.绝对路径,库中的带有搜索关键字的镜像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值