Docker 性质及版本选择 [二]

Docker 性质及版本选择 [二]

Docker
时间:2016年11月8日

本文由李磊提供--->QQ:550376681

Docker的性质

  Docker的组成其实很简单。你需要搭建registry,专属于你自己的私有仓库,然后就是docker镜像和docker的容器。Docker的镜像,就类似与windos的系统盘,你只有有了它,你才能够跑起来容器
  
  Docker的容器,很多人下载一个镜像,然后跑起来一个容器,就想进容器里看一看究竟。各位看官,很明确的告诉你们,你这个想法本身就是错误的。你跑起来一个容器,容器的进程是直接运行在宿主机内核上的,和你在宿主机上跑一个进程是一样样的,只是容器的userland不同,容器的userland由容器的镜像提供
  
  假设宿主机是centos的系统,但是你起了一个ubuntu的容器。ubuntu容器内部的进程调用的是centos的内核,而不会去调用ubuntu。而这点就和虚拟机有了本质的区别,虚拟机是虚拟环境,在现有的系统上去虚拟一个物理设备,再去虚拟一个内核,进程是跑在虚拟机的系统上的,虚拟机的进程和你宿主机是没有任何联系的。
  
  所以你也可以这样理解,docker容器,其实就是一个进程,既然他只是一个进程,不是操作系统,那么你为什么要不断的去进入容器?
docker不是虚拟机,不是!!!
参考文档:https://www.docker.com/what-docker

Docker的安装

  然后,不得不吐槽一下我家胖胖,不要再去误人子弟了。
Docker版本现在1.12的不错,因为这个版本融合了docker swarm。完美的融合,自身支持负载均衡,并且可以说做到了高可用
系统要求:

Ubuntu 14.04、16.04
Debian 7.7、8.0
CentOS 7.X
Fedora 20、21、22
OracleLinux 6、7

下载的方式

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

如果你觉得你足够NB,那么
## 测试版

    curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/test/internet | sh    curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/test/intranet | sh

## 实验版

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/experimental/internet | shcurl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/experimental/intranet | sh

注意

一、
因为测试版、实验版的版本号格式不统一,所以通过制定版本的方式安装可能存在问题。

Ubuntu的测试版、实验版的版本号格式示例: 1.12.0~rc1、1.12.0~rc2CentOS的测试版、实验版的版本号格式示例: 1.11.0、1.12.0

二、
CentOS系统上会为正式版测试版实验版分别添加数据源描述文件。如果你从正式版想要切换到测试版、实验版的话,请删除数据源描述文件。
描述文件分别为 /etc/yum.repos.d/docker-main.repo、/etc/yum.repos.d/docker-test.repo、/etc/yum.repos.d/docker-experimental.repo

FAQ
帮助文件地址
http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/help

yum update、apt-get update时,报出 404 Not Found 的错误,源站路径更新导致镜像源的路径不正确,解决办法:

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/resume | sh -

Docker 配置文件

  每个软件都是有配置文件的,docker也有,但是在不同的系统上,它的配置文件位置会有一点点小区别。最近两年处于Upstart/SysinitVsystemd 的过渡期,所以配置服务的方式对于不同的系统是不一样的,要看自己使用的是什么操作系统,以及什么版本。

  对于 Upstart 的系统(Ubuntu 14.10或以前的版本,Debian 7或以前的版本),配置文件可能在

Ubuntu/Debian: /etc/default/dockerCentOS/RHEL: /etc/sysconfig/docker

  而对于 systemd的系统(Ubuntu 15.04及以后的版本,Debian 8及以后的版本,CentOS/RHEL 7),配置文件则一般在 /etc/systemd/system/下的 docker.service 中,如:

/etc/systemd/system/multi-user.target.wants/docker.service

  具体位置,不同的系统位置不同,而且配置文件的格式也不同。(我用的是Centos7+的系统)
参考文档:
https://docs.docker.com/engine/admin/configuring/#ubuntu
https://docs.docker.com/engine/admin/systemd/

请关注下一章