什么是Docker
简单来说:
- IT 软件中所说的
Docker
,是指容器化技术,用于支持创建和使用Docker容器
. - 借助
Docker
,可将容器当做轻巧, 模块化的虚拟机使用. 同时,您还将获得高度的灵活性,从而实现对容器的高效创建, 部署及复制,并能将其从一个环境顺利迁移至另一个环境,从而有助于您针对云来优化您的应用. - Docker 使用
Google
公司推出的 Go 语言 进行开发实现,基于Linux
内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。
与传统虚拟化的区别
与传统虚拟化相比
- 容器不需要模拟硬件层,传统虚拟化一定有虚拟化操作系统层.
- 共享同一个宿主机的内核
安装Docker
对于Docker而言,需要预先知道以下内容.
Docker
通过镜像创建容器,而镜像存储在仓库中.
容器内包含自己需要的内容和设置,与外部交互需要进行端口映射.
##安装依赖
yum install -y container-selinux-2.77-1.el7.noarch.rpm containerd.io-1.4.4-3.1.el7.x86_64.rpm
##安装Docker-CE
yum install -y docker-ce-19.03.15-3.el7.x86_64.rpm docker-ce-cli-19.03.15-3.el7.x86_64.rpm
##启用服务
systemctl start docker.service
##查看Docker信息
docker info
这里为了讲解特别列出这一步.
[root@Server1 docker-ce]# docker info
Client:
Debug Mode: false
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 19.03.15
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-957.el7.x86_64
Operating System: Red Hat Enterprise Linux Server 7.6 (Maipo