我是靠谱客的博主 糊涂外套,最近开发中收集的这篇文章主要介绍Docker简介,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Docker
   
Docker是基于GO语言开发的一个开源的应用容器引擎,基于Linux内核(而非具体系统),通过cgroup,namespace等等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。可以运行在任何主流的Linux系统上,所需资源和性能开销都极少。
  与VMware等传统虚拟技术相比,Docker优势非常明显,传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而Docker容器不需要进行硬件虚拟,直接运行于宿主的内核,容器内没有自己的内核。所以Docker的优势主要体现在轻量级、资源消耗小、容器启动快。关于这一部分可以参考官网或http://dockone.io/article/6051

Docker使用场景
  通常虚拟机更擅长于彻底隔离整个运行环境,例如云服务提供商通常采用虚拟机技术隔离用户。而Docker主要用来隔离应用,统一环境。在资源有限的情况下,我们可以很轻松的在一台宿主机上运行多个容器,这对我们本地搭建分布式环境来说非常方便。此外说句题外话,Docker的出现(再配以K8S的容器编排)极大的降低了运维成本和难度,中小型项目很适合采用这种容器化部署方式。

安装

    前置条件

  • 64位机器,Linux3.8或更高版本的内核
  • 内核必须支持适合的存储驱动,默认存储驱动通常是Device Mapper

 Docker有多种安装方式,包括从存储库安装、下载RPM包手动安装等,官方推荐前者(官方安装)。这里简单介绍一下Centos 7下从存储库安装的过程,安装前建议先检测一下内核版本、存储驱动是否安装等先决条件

  1. 系统检查
  2. 安装yum-utils包(提供yum-config-manager 实用程序),并设置稳定存储库。
  3. 安装 Docker 引擎
#检查内核版本
[root@localhost /]# uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
#检查存储驱动
[root@localhost /]# grep device-mapper /proc/devices
253 device-mapper
#安装必要工具
[root@localhost /]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2
...
#指定存储库
[root@localhost lib]# sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
已加载插件:fastestmirror
...
#安装
[root@localhost lib]# yum install docker-ce docker-ce-cli containerd.io
已加载插件:fastestmirror
....

启动、查看Docker状态

#启动docker
[root@localhost lib]# systemctl start docker
#加入开机启动
[root@localhost lib]# systemctl enable docker
#查看Docker运行状态
[root@localhost docker]# service docker status
Redirecting to /bin/systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since
...
CGroup: /system.slice/docker.service
└─7987 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
......

基于Hello-World镜像启动一个容器

#测试
[root@localhost lib]#
docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
....

查看Docker详情(包含内核、驱动、容器等信息)


#查看docker信息
[root@localhost lib]# docker info
Client:
Debug Mode: false
Server:
#容器数量
Containers: 1
Running: 0
Paused: 0
Stopped: 1
Images: 1
Server Version: 19.03.1
#存储驱动
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: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-957.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.777GiB
Name: localhost.localdomain
ID: 6GOS:OTVS:CRRL:PZH5:6JKV:FSUO:PDW4:3QLC:2YQ7:XESP:REQO:IS55
Docker Root Dir: /var/lib/docker
#docker根目录
Debug Mode: false
Registry: https://index.docker.io/v1/
#仓库地址
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

 

最后

以上就是糊涂外套为你收集整理的Docker简介的全部内容,希望文章能够帮你解决Docker简介所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部