Docker-介绍与安装

Docker deamon:

Docker的守护进程,Docker deamon是一个运行在宿主机的后台进程。

Docker的优点:

Docker引擎统一了基础设施环境,应用程序不需要关心操作系统版本、硬件配置

Docker引擎统一了程序的打包方式,通过Docker镜像打包

Docker引擎统一了程序的部署方式,通过Docker容器部署

标准化,应用程序环境依赖、操作系统等问题。容器保证所有配置、依赖始终不变

隔离性与安全,容器之间的进程相互隔离,一个容器出现问题不会影响其他容器

快速部署,镜像构建后秒级启动,资源占用少

更易迁移扩展,容器几乎可以在任何平台运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等

弹性云服务,适合微服务架构,容易实现动态扩容缩容 

Docker运行机制:

我们都知道docker里的进程 和外界的进程是一致的,你无论是在容器里还是在宿主主机,在使用top命令查询进程列表,docker所运行的进程(PID)都是一样的,至于容器里的进程会被隔离是因为linux本身的机制Namespace,在创建容器进程时,指定了这个进程所需要启用的一组 Namespace 参数。这样,容器就只能“看”到当前 Namespace 所限定的资源、文件、设备、状态,或者配置。而对于宿主机以及其他不相关的程序,它就完全看不到了,Namespace 技术实际上修改了应用进程看待整个计算机“视图”,即它的“视线”被操作系统做了限制,只能“看到”某些指定的内容。基于 Linux Namespace 的隔离机制相比于虚拟化技术也有很多不足之处,其中最主要的问题就是:隔离得不彻底,在 Linux 内核中,有很多资源和对象是不能被 Namespace 化的,最典型的例子就是:时间,你在容器内的时间和宿主主机的时间是一致的,要改大家一起改,以及你所用的系统采用不同版本的linux内核也不一定兼容,不过这些微小的缺陷丝毫不影响docker发光发热。

Docker的安装:

移除旧版本docker:

sudo yum remove docker

安装必要的系统工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源为阿里云:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum缓存

sudo yum makecache fast

安装dockerCE

sudo yum -y install docker-ce

 启动docker服务:

systemctl start docker

常用命令: 

重启docker宿主:systemctl daemon-reload

停止docker服务:systemctl stop docker 

重启docker服务:systemctl restart docker 

查看docker状态:systemctl status docker 

开机启动docker:systemctl enable docker 

查看docker概要信息:docker info 

查看docker版本:docker -v 

查看容器里的进程:docker top 容器id

退出容器:exit

镜像加速:更改镜像源

vi /etc/docker/daemon.json 在该文件中输入如下内容:{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }

重启服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

原文地址:https://www.cnblogs.com/fanfan-90/p/12163303.html