Docker基础知识--极客学院入门教程(http://www.jikexueyuan.com/course/2743.html)

第一章: 使用基础

1、默认从国外的主仓库Docker Hub拉取镜像(运行国外镜像):

docker run centos (未指定版本则运行latest版本;指定版本:docker run ubuntu:15.10):首先判断本机(本地仓库)是否有centos镜像,没有则去官方拉取。没有带前缀域名的镜像默认从官方仓库拉取,拉取是分层的。因为主仓库在国外,很多时候会拉取失败,或者拉取很慢,可以使用docker mirror加速。

拉取完后会自动解压(Extracting)并运行,解压完后docker会把镜像自动运行起来。问题是运行完后就退出了,且用docker ps也查不到容器在运行。这是因为每一个镜像都有一个主程序,运行镜像时直接运行主程序,主程序结束后会把容器也退出。 

docker inspect centos: 查看centos镜像,可以看到其默认的主程序"Cmd": ["/bin/bash"],因此,bash运行结束以后,容器也退出了。

docker run -it centos:  -it会把容器里面的终端和当前终端进行关联,就可以进入到容器里面去。进入后以root用户身份操作,通过查看命令cat /etc/*release*可以查看容器的版本信息。这时如果另外打开一个终端执行docker ps命令,可以查看到容器在运行。

exit:退出。

 

2、运行国内镜像

GhostCloud: 首先在网站注册用户,配置私有用户。然后运行给定的命令,就会在本地安装docker和配置好docker国内仓库地址。GhostCloudAgent目前只支持操作系统Ubuntu14.04/64位和CentOS7/64位。安装成功后,GhostCloud会在你的docker配置文件里面进行一个默认的配置。

vi /etc/default/docker:DOCKER_OPTS="--insecure-registry=hub.ghostcloud.cn --registry-mirror=http://mirror.ghostcloud.cn -H=tcp://127.0.0.1:2376   -H=tcp://192.168.3.0:2376    -H=unix:///run/docker/docker.sock", 主要有两个,第一个是把ghostcloud仓库加入到信任源里面,第二个是加入了mirror仓库,也就是镜像加速技术。镜像加速也就是说没有带前缀域名的镜像默认从镜像仓库拉取(前提是本地仓库没有),如果这个镜像仓库没有,才去官方仓库拉取。

docker login hub.ghostcloud.cn: 登录加速镜像仓库

docker pull hub.ghostcloud.cn/ debian:拉取镜像

手动配置国内镜像

关闭docker deamon -- 配置docker deamon -- 启动docker deamon生效

 

3、容器中打印Hello World (Docker HelloWorld)

docker run centos echo "Hello World" : 如果不指定运行程序,则会运行运行默认主程序。

docker stats CONTAINER_ID:查看容器实时运行状态。

 

4、Docker介绍

Docker原生态只支持Linux系统,因为依赖于Linux Kernel的三项最基本的技术,Namespaces , CGroups, Union FS

 

Namespace: 对Docker的容器进行隔离,让它拥有独立的hosname, ip, pid,...

CGroupds:对容器使用的资源进行限制,比如CPU、内存

UnionFS:  对镜像Image这一块做支持,采用写时复制(Copy-On-Write) 技术

上层是libcontainer, 是对底层三块的封装,是一个库。

再上层是Docker Engine,控制容器的运行,Image拉取等工作。

 

5、虚拟化技术介绍:对比虚拟机和Docker

 

虚拟机中,操作系统占了很大一个部分,是很大的资源浪费,特别是在云端。实际上我们关心的是应用本身,很少涉及操作系统的部分。虚拟机上层是运行时库和应用,整个虚拟机空间实现相当庞大的,

Docker出现后,省去了操作系统这一层,容器共用操作系统。

移动互联网的应用或者云计算的节点都可以使用Docker来进行切换。

 

第二章: 使用基础

1、虚拟化技术介绍

硬件级虚拟化:运行在硬件系统之上的虚拟化。运行在硬件之上的即操作系统,HyperV技术属于硬件虚拟化的范畴。

 

 

 

操作系统级虚拟化:运行在操作系统之上的虚拟化,而运行在操作系统上的是进程,是应用程序。

 

 

 

 

第三章 云计算基础知识

 

现代云计算起源于三篇论文:核心问题是解决水平拓展问题。也是分布式系统要解决的问题,希望通过大量的水平的节点的堆砌来提升整个系统的性能。docker带来的转变:docker可作为底层水平分布式节点。

  

 

左图讲的是云计算的三大模块:存储、计算、网络,右图:docker会在这三个最核心的组成部分下面构建一个容器层。也就是说我们的基础的节点可以用容器来替代。

以前我们需要搭建一个MongoDB的集群的话,我们都需要通过物理机来作为它底层的节点。当容器出现以后,我们可以用容器来作为它底层的节点。这也是现在很多公有云产商在做的事情,很多一线互联网公司的很多业务都在进行容器化了。

 

云计算的服务模式:

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值