Linux——Docker容器安装

Docker

Docker网址: https://www.docker.com/

PS:本文所涉及到的Docker知识都是在linux内核版本3.10及以后的,也有部分3.10之前也支持。

一、Docker容器的原理

Docker利用Linux中的核心分离机制,例如Cgroups,以及Linux的核心Namespace(名字空间)来创建独立的容器。一句话概括起来Docker就是利用Namespace做资源隔离,用Cgroup做资源限制,利用Union FS做容器文件系统的轻量级虚拟化技术。Docker容器的本质还是一个直接运行在宿主机上面的特殊进程,看到的文件系统是隔离后的,但是操作系统内核是共享宿主机OS,所以说Docker是轻量级的虚拟化技术, 如果我们了解它们的使用方法和原理,就能清楚 Docker 的实现原理。

Docker虚拟化与普通虚拟化的区别

虚拟化 区别
Docker虚拟化 直接运行于宿主机的内核,容器内没有自己的内核,而且也没有进行硬件虚拟,每个容器有自己的文件系统,互不干扰,启动时间块,资源占用少,可灵活分配资源
普通虚拟化 在宿主机上虚拟出一套硬件后,再运行一个完整操作系统,在该系统上再运行所需应用进程,启动时间长,占用资源多

在这里插入图片描述

二、Docker核心概念

  • 镜像:类似虚拟机的快照,一个镜像是一个完整的操作系统,属于只读的
  • 容器:从镜像创建的运行实例,可以被启动、停止、删除
  • 仓库:存储镜像的地方

三、安装Docker

PS:因为网速的原因,我们选择国内下载安装,国内很多网站都提供了docker-ce的镜像站,比如阿里云、网易云、清华大学镜像站等。

我们选择阿里云下载

[root@docker ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
[root@docker ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo      //下载docker的repo源文件到yum.read目录
[root@docker ~]# yum repolist
[root@docker ~]# yum makecache
[root@docker ~]# yum list docker-ce.x86_64 --showduplicates | sort -r    //查看docker-ce可用版本
[root@docker ~]# yum -y install docker-ce-18.09.0-3.el7 docker-ce-cli-18.09.0-3.el7 containerd.io-1.2.10-el7
[root@docker ~]# systemctl start docker.service 
[root@docker ~]# systemctl enable  docker.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

查看docker版本还可以查看docker服务

[root@docker ~]# docker  version
Client:
 Version:           18.09.0
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        4d60db4
 Built:             Wed Nov  7 00:48:22 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.0
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       4d60db4
  Built:            Wed Nov  7 00:19:08 2018
  OS/Arch:          linux/amd64
  Experimental:     false

开启路由转发功能

PS:做路由转发的意义是为了后期的主机互相访问

[root@docker ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
[root@docker ~]# sysctl -p

为docker容器设置镜像下载加速器

[root@docker ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
docker version >= 1.12
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
Success.
You need to restart docker to take effect: sudo systemctl restart docker 
[root@docker ~]# systemctl restart docker.service 

PS: 加速器完成之后,会生产/etc/docker/daemon.json文件,里边记载着刚 刚加载成功的加速器的网址。如果想要替换其他网站的加速器,只需要更 改此网址即可。

[root@docker ~]# cat /etc/docker/daemon.json 
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}

猜你喜欢

转载自blog.csdn.net/weixin_45191791/article/details/108285310