环境介绍:

操作系统:64bit CentOS7

docker版本:17.05.0-ce(最新版本)

版本新功能:

https://github.com/docker/docker/blob/master/CHANGELOG.md

安装步骤

系统:64位centos7

迅雷直接下载:

http://mirrors.njupt.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso

虚拟机:virtualBox

最好是安装完整版本的centos7,vm安装centos7的过程我这里都不截图了,比较简单百度都可以看到。

700

要求: 内核版本最低为3.10

    查看当前内核版本: uname –r

700

要求: 更改网卡配置


    更改网卡配置:vi/etc/sysconfig/network-scripts/ifcfg-enp0s3

700

    更改完后重启服务:service network restart

    注意:如果ifconfig命令不识别的话需要安装:

    yum installnet-tools

700

通过yum方式安装docker:

第一步:更新yum源: sudo yum update

700

    第二步:增加docker的yum源:

输入命令:vi/etc/yum.repos.d/docker.repo

输入:

[dockerrepo]

name=Docker Repositorybaseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ 

        enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

这样我们就添加了yum源

700

可以通过命令:sudo vi/etc/yum.repos.d/docker.repo 查看:

第三步:通过yum安装docker

sudo yum installdocker-engine

700

    第四步:启动docker服务

        sudo service docker start

700

    第五步:查看版本信息,通过测试用例验证docker是否安装成功

        验证docker版本:sudo docker version

700

    测试:sudo docker run hello-world

700

docker配置(按照正常的开发应用是docker控制有个专门的用户,为了学习方便我直接使用了root用户):

创建docker用户组

sudo groupadd docker

增加当前用户到docker分组

sudo usermod -aG docker liming

    验证在不使用sudo的情况下docker是否正常工作

docker run hello-world

700

 设置docker开机启动

sudo chkconfig docker on

    docker卸载

查看安装包

yum list installed | grepdocker

移除安装包:

sudo yum -y removedocker-engine.x86_64

清除所有docker依赖文件

rm -rf /var/lib/docker

删除用户创建的配置文件


Docker的核心概念

Docker核心概念之镜像:

Docker 镜像就是一个只读的模板。

例如:一个镜像可以包含一个完整的 centos操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。

镜像可以用来创建 Docker 容器。

创建Docker镜像有几种方式,多数是在一个现有镜像基础上创建新镜像,因为几乎你需要的任何东西都有了公共镜像,包括所有主流Linux发行版,你应该不会找不到你需要的镜像。不过,就算你想从头构建一个镜像,也有好几种方法。

要创建一个镜像,你可以拿一个镜像,对它进行修改来创建它的子镜像 。


700

Docker核心概念之容器

Docker 利用容器来运行应用。

容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

注:镜像是只读的,容器在启动的时候创建一层可写层作为最上层。

Docker核心概念之仓库

仓库是集中存放镜像文件的场所。

有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。

Centos的6.0和7.0就是tag