Docker教程一:最初的介绍和安装

前言:Docker容器在近1年的时间,在运维的领域出现过无数次了。太火了!!!介绍嘛,我也只能简单说一说,那就是在一台物理机上模拟出多个应用环境。类似于传统的虚拟机,但不同的是不包含操作系统底层。

拿vmware esx来说:一台esxi上面可以跑多个虚拟机,每个虚拟机都是相互独立,都有各自的系统,是一个完整的系统。

而docker是在一台主机上利用linux 内核技术(命名空间和cgroups)隔离出来的各个应用环境,相对于传统虚拟化更轻量。

更多介绍请看官方:

https://www.docker.com/ 

或者看看个人感觉比较不错的介绍:

http://docker.widuu.com/ 

http://special.csdncms.csdn.net/BeDocker/ 

http://www.widuu.com/chinese_docker/userguide/README.html 

好了,来开始安装吧。

首先需要一台安装了CentOS的主机,最好的CentOS7,以下也会已CentOS7来写。

一、安装启动:

因为装的CentOS7,内核版本较高,所以不必要升级内核。这里说一下的就是docker就是利用linux 内核的特性实现的,所以系统的内核直接影响了docker。

这里我们安装的是docker1.8,yum安装方式。不建议初学者使用编译安装。

首先新建yum源文件,使用docker官方的软件仓库

cat >/etc/yum.repos.d/docker.repo  # yum install docker-engine

就这么一条简单的命令,docker就安装好了。但这只是像把鸡上的第一根毛拔了那么的初始,还有很多“毛”需要拔。

下面就是启动和自启动:

# systemctl start docker# systemctl enable docker

超级产品经理

可以查看到版本为1.8.2

PS:尽管现在docker软件仓库已经有了1.9的版本,但不建议安装。因为之后会讲到kubernetes集群管理,也是基于1.8的。

二、测试第一个容器

ok,现在docker已经安装并启动了。但是默认只是一个空壳子,神马都么有。首先需要从docker的官方源拉取镜像。

# docker pull centos

以拉取最新的centos镜像为例,不加版本号,默认拉取最新版本。(此过程相当漫长,因为docker没在国内部署主机以及使用cdn服务。如果等不及,可看第三部分的解决办法)

当拉取镜像完成后,使用命令查看:

# docker images

超级产品经理

ok,现在已经有了base版本的镜像,就是包含最基本的系统所需。

(docker的工作流程大致是这样的,物理系统----docker----docker images-----docker container)

大概就是,在物理系统上安装docker服务,然后创建/拉取镜像,然后在镜像上的基础上创建容器。

现在来试试启动/创建一个容器:

# docker run -ti centos /bin/bash

大概意思就是基于centos镜像启动一个新的容器,并运行/bin/bash程序。后面会详细讲参数。

成功执行后会发现进入了一个全新的环境:这个时候就如同创建了一个新的虚拟机

超级产品经理

注意观察,现在已经在新创建的容器里了。(PS:进去以后发现,好多命令都没有,这是正常的,因为把系统裁剪了,只有最基本的)

ok,到现在为止,已经成功拉取了镜像并创建了第一个容器。可是怎么退出这个容器呢?可能有些人想到了exit

超级产品经理

上图什么意思?就是说这个容器已经停止了。那么我们想要的效果就是单纯的退出而后台不停止容器的运行。

方法:按住CTRL+P+Q,ok,现在已经退出终端,但后台还在运行。

这部分先简单的尝试下,后面会有更加详细的说明。

三、加速使用pull

刚刚上面的那条pull命令是不是让你等了又等,等了又等。确实,非常的慢慢慢。没辙啊,谁让他不搞个国内源呢。只能发掘看看国内有没有比较靠谱又良心的企业了。找找找,终于找到几个不错的。

  1. daocloud(首推)http://www.daocloud.io/

  2. http://dockerpool.com/

  3. 阿里云镜像 (未测试)http://help.aliyun.com/knowledge_detail.htm?knowledgeId=5974865

这里首先推荐daocloud提供的Docker Hub Mirror加速Docker官方镜像下载

第一步:注册Docker Hub Mirror,http://account.daocloud.io/signup   

第二步:进入后台,启用加速器

超级产品经理

超级产品经理

第三步:修改docker的配置文件:

# vim /etc/sysconfig/docker

修改其中的OPTIONS选项:加入--registry-mirror=http:// m.daocloud.io

第四步:重启docker服务

systemctl restart docker

更新:2.0版本(请使用此方式)

上面使用的daocloud的加速已经过期,现在已经升级为2.0,这里说下如何使用

注册登录还是不变,只不过比以前更加简单了。

超级产品经理

安装完毕之后会在本机docker启动一个新的容器:

超级产品经理

使用也非常简单,只需要把docker pull改成dao pull 即可下载镜像了。(注:Daocloud上的镜像非常有限,只有常用的一些,如提示找不到,请使用docker pull下载)

超级产品经理

另外推荐:http://dockerpool.com/ 

直接使用docker pull dl.dockerpool.com:5000/ubuntu:12.04即可。

如果出现以下ca错误:

FATA[0000] Error response from daemon: v1 ping attempt failed with error: Get https://dl.dockerpool.com:5000/v1/_ping: tls: oversized record received with length 28012. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add --insecure-registry dl.dockerpool.com:5000 to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/dl.dockerpool.com:5000/ca.crt

请修改docker的配置文件:

vim /etc/sysconfig/docker

增加启动参数:

OPTIONS='--selinux-enabled --insecure-registry dl.dockerpool.com:5000'

红色部分为添加

然后重启服务即可。

阿里云的镜像没试过,你可以试试。

关键字:docker, 镜像, 容器, pull

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部