一、简介

1.什么是Docker ?

来自百度百科:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
个人认为:就是一套精细压缩的操作系统,来维护我们的应用环境。

2.Docker由什么组成呢 ?如何理解?

1.仓库(Repository)
2.镜像(Image)
3.容器(Container)
Docker的仓库里存放了很多的镜像(可以理解为模板),而这些镜像可以用来实例化容器。有时候可以理解为镜像就是一个类(镜像),我们可以用来实例一个对象(容器),而我们项目(仓库)会有很多类

二、前提条件:

1.依据docker官网中文给出的,本次采用CentOS 7下进行安装

docker 和 linux的区别 centos和docker的关系_服务器

三、安装Docker

注意:如果已经有安装的旧版本,卸载操作,如图。如果从未安装的请跳过该步骤

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

docker 和 linux的区别 centos和docker的关系_docker_02


1.安装yum-utils软件包(提供yum-config-manager 实用程序)。

yum install -y yum-utils

docker 和 linux的区别 centos和docker的关系_docker 和 linux的区别_03


2.设置稳定的存储库,简化安装和升级任务。

yum-config-manager  --add-repo  https://download.docker.com/linux/centos/docker-ce.repo

docker 和 linux的区别 centos和docker的关系_服务器_04


3.安装最新版本的Docker Engine和容器,,一路Y下去

yum install docker-ce docker-ce-cli containerd.io

docker 和 linux的区别 centos和docker的关系_docker 和 linux的区别_05


注意:如果要安装特定版本的话

a.请在存储库中列出可用版本,然后选择并安装,如下

yum list docker-ce --showduplicates | sort -r

docker 和 linux的区别 centos和docker的关系_服务器_06


b.通过其完全合格的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)到第一个连字符,以连字符(-)分隔。例如,docker-ce-18.09.1。

yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

4.查看版本、启动、设置开机启动

docker version 
systemctl start docker
systemctl enable docker

docker 和 linux的区别 centos和docker的关系_docker 和 linux的区别_07


docker 和 linux的区别 centos和docker的关系_docker_08

四、阿里云Docker-镜像加速的配置

鉴于国内网络问题,我们访问国外网站比较慢,而后续拉取 Docker 镜像也是十分缓慢,所以我们需要配置加速器来解决。推荐:阿里云docker镜像加速器

1.申请加速器

a.使用阿里云帐号(支付宝扫码即可)登录

b.进入设置镜像仓库密码

c.镜像中心---->镜像加速器

docker 和 linux的区别 centos和docker的关系_docker 和 linux的区别_09


docker 和 linux的区别 centos和docker的关系_服务器_10


2.在 /etc/docker 文件夹下新建daemon.json文件,内容

{
  "registry-mirrors": ["加速器地址"]
}

3.启用并重启

systemctl daemon-reload
systemctl restart docker

4.验证配置(此处是中科大的加速地址)

docker info

docker 和 linux的区别 centos和docker的关系_centos_11

五、Docker验证
docker run hello-world

docker 和 linux的区别 centos和docker的关系_linux_12

:本次安装多数按照官网进行,还请多多指正

X.其他指令

1.安装docker-compose插件

curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

如图

docker 和 linux的区别 centos和docker的关系_服务器_13

2.给docker-compose权限

chmod 777 /usr/local/bin/docker-compose

3.查看docker-compose版本

docker-compose --version

注意:新注册的服务,启动报错

类似
Error response from daemon: driver failed programming external connectivity on endpoint
可能原因
docker服务启动时定义的自定义链DOCKER由于firewall被清掉
firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 Docker 产生冲突。
当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作
处理方式:重启docker服务后再启动容器
systemctl restart docker