Docker 之 docker安装

1  概述php

docker是双发行版。docker-EE (企业版,收费) docker-CE(社区办,免费),docker-ce项目后面更名为moby项目。所以要在github上找到ce发行版,就要搜索moby这个关键词html

docker是go语言研发,运行须要go环境linux

dockerextras仓库里或者经过官网https://download.docker.com/对应的软件包下载源git

Centos7的docker-ce软件包路径为https://download.docker.com/linux/centos/7/x86_64/stable/Packages/github

也能够直接经过下载docker-ce的repo文件,配置yum源后,就能够直接经过yum来安装docker

2  安装json

安装官方repo源的安装centos

#下载repo包bash

wget -P /etc/yum.repos.d/ https://download.docker.com/linux/centos/docker-ce.repo

官方yum仓库的docker为docker-ce,所以安装命令为
架构

yum  -y install docker-ce

若是安装extras路径 docker包名为docker,所以安装命令为

yum  -y install docker

这里推荐用docker-ce进行安装

安装过程,若是出现 container-selinux >= 2.9 依赖报错,参考以下文章进行解决

https://blog.csdn.net/qq_41772936/article/details/81080284

即执行以下命令

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 
yum install epel-release
yum install container-selinux

此时会安装 container-selinux ,若是机器中有配置dockeryum仓库,那么会一块儿安装docker-ce

安装后查看对应的包

rpm -ql docker-ce

安装成功后,不须要修改配置文件,直接启动服务

systemctl start docker.service

查看docker版本

docker version

3  docker镜像加速

docker官方的镜像下载比较慢,因此能够经过其余公司的加速器来访问docker-hub仓库,或者直接下载第三方的docker 镜像,如网易的风潮,或者阿里云。

这里推荐使用阿里云的开发者平台,注册帐号。注意,阿里云有加速器,进入本身的管理中心。阿里云的开发者平台提供进行仓库,连接为

https://dev.aliyun.com/search.html

登陆阿里云开发者平台后,到我的管理中心,找到镜像加速器,每一个人都有专用的镜像加速器地址,在页面有相关的操做文档来告诉用户如何设定,更好的加速

加速器实际是阿里云作的docker-hub镜像到国内来

docker C/S架构,服务端是 dockerd,客户端是docker,dockerd监听来自客户端的请求和指令,dockerd接收指定后,完成指令的操做。dockerdockerd经过http或者https协议进行通讯。dockerd收到指令后,会先检索本地的镜像文件的存储位置是否有要启动容器的镜像文件,若是已经存在,就会把这个镜像文件直接启动为容器。若是本地没有相关镜像文件,就会到指定的docker的registry服务上检索获取镜像文件,将检索到的镜像文件下载到本地并启动为容器。若是本地和远程都没有对应的镜像,则启动容器会失败

Docker 命令分为管理命令和标准命令

docker配置文件是daemon.json,可能不存在,就手动建立

centos执行以下语句

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
 { "registry-mirrors": [" 加速器地址 "] } EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

到这里加速设置 完成

4  docker镜像标识方式

一个repository(仓库)只放一种镜像的多个不一样版本的镜像,一个镜像,如php-fpm,多是版本有多个,引发对应的镜像文件版本发生变化。仓库是有名字的。通常镜像的名字就是其标签,标签是其版本号。通常而言,最新的版本有统一的标识符,为latest

docker和仓库直接是经过https协议来通讯,https协议严格验证系统时间和官方仓库时间是否一致,若是时间不一致,则会致使搜索不出结果。因此,经过docker search命令查不到结果时,须要查看时间是否一致

一个仓库内的镜像是同一镜像的多个版本的组成,若是给定仓库名,没有版本,默认是latest

注意,docker的官网https://hub.docker.com/注册帐号如今国内注册不了。