1.什么是容器

容器是一个隔离的环境中运行的一个进程,如果结束进程,容器就会停止。

容器的隔离环境:

1.拥有自己的IP

2.拥有自己的系统文件

3.自己的主机名和进程管理

2.容器和虚拟化的区别

1.虚拟机: 硬件cpu支持(vt虚拟化),模拟计算硬件,走正常的开机启动

2.bios开机自检--根据bios启动项--读取硬盘第一个扇区grub,uefi, centos7, 加载内核,启动系统第一个进程/sbin/init systemd

3.容器: 不需要硬件cpu的支持,共用宿主机内核,启动容器的第一个进程

4.容器优势: 启动快,性能高,损耗少,轻量级

3.安装docker

1.更改yum和epel源

[root@docker03 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2523  100  2523    0     0  20271      0 --:--:-- --:--:-- --:--:-- 20346
[root@docker03 ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   664  100   664    0     0   5235      0 --:--:-- --:--:-- --:--:--  5269

2.根据清华大学源安装docker(https://mirror.tuna.tsinghua.edu.cn/help/docker-ce/ )

[root@docker03 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

4.下载docker repo源

[root@docker03 ~]# wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

5.替换仓库地址

[root@docker03 ~]# sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

6.安装docker

[root@docker03 ~]# yum makecache fast(生成缓存,可以不要)
[root@docker03 ~]# yum install docker-ce -y

7.启动docker,并设置开机自启动

[rot@docker03 ~]# systemctl start docker
[root@docker03 ~]# systemctl enable docker

8.检查docker是否安装成功

[root@docker03 ~]# docker -- version

Client: Docker Engine - Community

 Version:           19.03.3

 API version:       1.40

 Go version:        go1.12.10

 Git commit:        a872fc2f86

 Built:             Tue Oct  8 00:58:10 2019

 OS/Arch:           linux/amd64

 Experimental:      false

Server: Docker Engine - Community

 Engine:

  Version:          19.03.3

  API version:      1.40 (minimum version 1.12)

  Go version:       go1.12.10

  Git commit:       a872fc2f86

  Built:            Tue Oct  8 00:56:46 2019

  OS/Arch:          linux/amd64

  Experimental:     false

 containerd:

  Version:          1.2.6

  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb

 runc:

  Version:          1.0.0-rc8

  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f

 docker-init:

  Version:          0.18.0

  GitCommit:        fec3683