文章目录

    • Docker与虚拟机的区别
    • Docker的使用场景
    • Docker的核心概念
    • CentOS安装Docker的两种方式
  • 实际安装Docker
    • 首先我们先安装依赖环境
      • 先做网络yum源
      • 安装依赖包
    • 设置阿里云镜像源
    • 安装Docker并设为开机自启动
    • 配置镜像加速器
    • 网络优化
    • 查看 doker 版本信息
    • 查找指定镜像
    • 下载镜像
    • 查看下载的镜像信息
    • 获取镜像信息
    • 查看镜像信息(`grep`筛选)
    • 添加镜像标签
  • 总结

# Docker概述 ## Docker是什么?

  • 是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源
  • 是在Linux容器里运行应用的开源工具
  • 是一种轻量级的“虚拟机”
  • Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器

Docker与虚拟机的区别

特性 Docker容器 虚拟机
启动速度 秒级 分钟级
计算能力损耗 几乎无 损耗50%左右
性能 接近原生 弱于原生
系统支持量(单机) 上千个 几十个
隔离性 资源隔离/限制 完全隔离

Docker的使用场景

  • 打包应用程序简化部署
  • 可脱离底层硬件任意迁移
    例:服务器从阿里云迁移到腾讯云

Docker的核心概念

  • 镜像
    一个面向Docker容器引擎的只读模板
  • 容器
    从镜像创建的运行实例
  • 仓库
    集中保存镜像的地方

CentOS安装Docker的两种方式

  • 使用CURL获得Docker的安装脚本进行安装
  • 使用YUM仓库来安装Docker

实际安装Docker

注:目前Docker只能支持64位系统

首先我们先安装依赖环境

先做网络yum源

cd /etc/yum.repos.d/
mkdir backup
mv *.repo backup/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache

安装依赖包

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

解释:

  • yum-utils 提供了yum-config-manager 工具
  • device-mapper 存储驱动程序需要device-mapper-persistent-datalvm2
  • Device-Mapper是Linux2.6内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。

设置阿里云镜像源

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

安装Docker并设为开机自启动

yum install -y docker-ce       #安装Docker-cesystemctl stop firewalld       #关闭防火墙
setenforce 0                   #关闭内核防护vim /etc/selinux/config
SELINUX=disabled               #取消selinux,不取消的话会有一些已知的冲突情况systemctl start docker.service
systemctl enable docker.service

selinux
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。

SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。


配置镜像加速器

在阿里云的自己账号里找到加速地址,填入下方的中括号里

tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors":["https://q******.mirror.aliyuncs.com"]}
EOFsystemctl daemon-reload
systemctl restart docker

网络优化

vim /etc/sysctl.conf
net.ipv4.ip_forward=1sysctl -p
service network restart
systemctl restart docker

查看 doker 版本信息

docker version

查找指定镜像

格式:

docker search 关键字

例:查找nginx镜像

docker search nginx

下载镜像

格式:

docker pull 关键字

例:下载nginx镜像

docker pull nginx


AUFS(联合文件系统) 若干层下载

下载后存放在/var/lib/docker

/var/lib/docker/image/overlay/repositories.json (下载文件信息)

查看下载的镜像信息

docker images

获取镜像信息

格式:

docker inspect 镜像ID号

例:

docker inspect 35c43ace9216

查看镜像信息(grep筛选)

格式:

docker images | grep 关键字

例:用grep查看nginx镜像信息

docker images | grep nginx

添加镜像标签

格式:

docker tag 名称[:标签] 新名称[:新标签]

例:

docker tag nginx:latest nginx:web


总结

本文简单介绍了Docker的基础概念、安装方法以及Docker镜像的部分应用

想学Docker?我教你啊~相关推荐

  1. java 下载加速_Java实现大文件下载,提速30倍!想学?我教你啊!

    前言 兄弟们看到这个标题可能会觉得是个标题党,为了解决疑虑,我们先来看下最终的测试结果: 测试云盘下载的文件 46M,自己本地最大下载速度 2M 1. 单线程下载,总耗时: 603s img 2. 多 ...

  2. Java实现大文件多线程下载,提速30倍!想学?我教你啊

    前言 在上一篇文章 <面试官不讲武德>对Java初级程序猿死命摩擦Http协议 中,我们有提到大文件下载和断点续传,本篇我们就来开发一个多线程文件下载器,最后我们用这个多线程下载器来突破云 ...

  3. 解惑篇|Docker和 K8s 到底啥关系?想学K8s,必须得先学 Docker 吗?

    想学K8s,必须得先学会 Docker 吗?这是很多网友在开始琢磨着想要学 K8s 的时候都会冒出来的想法.那么今天我们就跟大家说说这个话题,要回答这个问题,我们需要先搞清楚 Docker 和 K8s ...

  4. 告诉老默我想学Spring Cloud了(新手篇):从0到1搭建Spring Cloud项目(实际项目开发的浓缩精华版)

    告诉老默我想学Spring Cloud了(新手篇):从0到1搭建Spring Cloud项目 一.前言 二.如何选择版本 2.1 SpringCloud 和 Spring Boot 版本选型 2.1. ...

  5. 不想学python-没想到,学会Python即使不做程序员都能月入过万!

    昨天,我公司面试了 1 个同学,应聘新媒体运营,专业能力还不错.他简历上技能栏还写着会 Python,我问了他一个通过爬虫采集数据的问题,他都顺畅的答出来了. 最后聊薪资时,他说期待 7000,我直接 ...

  6. 曾经想学很多很多,最后发现自己只能专心学那么很少的几个必杀技

    为什么80%的码农都做不了架构师?>>>    很多人觉得,我特能乱写,其实参加工作都10年了,每个月就算发生一件事情一个感慨,也足够可以写120篇了.今天不知道怎么回事,彻底失眠了 ...

  7. 数学不好、英语不好、非本专业,想学python数据分析,能安排吗?

    全世界有3.14 % 的人已经关注了 数据与算法之美 "非本专业想转型做数据分析,有救吗?" "数学不好,英语不好,想学Python数据分析,有救吗?" &qu ...

  8. 小白学数据:教你用Python实现简单监督学习算法

    转载自 小白学数据:教你用Python实现简单监督学习算法 今天,文摘菌想谈谈监督学习. 监督学习作为运用最广泛的机器学习方法,一直以来都是从数据挖掘信息的重要手段.即便是在无监督学习兴起的近日,监督 ...

  9. 想学大数据,应该从什么语言开始学?

    如果我没有理解错,你应该是想学Hadoop或者Spark. 目前大数据处理框架有两个:Hadoop和Spark.Hadoop是用Java语言开发的,Spark是用Scala语言开发的. 学习的步骤,可 ...

最新文章

  1. 方法级别权限控制-基本介绍与JSR250注解使用
  2. TCP的困境与解决方案
  3. data:image data url 文件上传
  4. Apache HTTP服务器 2.0版本文档
  5. 【入门二】格式化输入/输出
  6. 基于互联网的摄像测量系统(D 题)-- 2021 年全国大学生电子设计竞赛
  7. 恢复 火狐浏览器书签、插件、密码等
  8. 华硕ARMOURY CRATE奥创安装/风扇快捷键问题
  9. 通过注册表永久禁用系统UAC功能
  10. 顶级域名、一级域名、二级域名、子页面
  11. mysql 占比函数_MySQL通过分组计算百分比
  12. 使用腾讯tapd工具,进行创建迭代任务、任务拆解、、制定整体发布计划、多维度甘特图进度把控
  13. Quoted-printable 编码认识、介绍、编码解码转换
  14. ABeam (德硕)News | 喜提「SAP BTP 最佳实施合作伙伴」奖项
  15. 数据结构(C语言版 严蔚敏著)——树
  16. 趁着双11,写个京东商品自动下单
  17. 开关量、数字量、模拟量、脉冲量的区别
  18. sudo apt-get update 报错 ubuntu xenial InRelease 明文签署文件不可用,结果为‘NOSPLIT’(您的网络需要认证吗?)解决
  19. 世界上最好语言:PHP技术百问
  20. Modbus 通信协议详解

热门文章

  1. 2021十大手表品牌TOP排行榜
  2. linux 根据字母产生颜文字 figlet
  3. python工程师年薪多少万_Python工程师工资待遇一般是多少
  4. siri快捷指令_如何使用siri快捷方式来记录警察的遭遇
  5. FFmpeg5.0源码阅读之AVClass和AVOption
  6. python前端学习之js
  7. 汽车发动机ECU硬件在环测试系统ETest设计与实现
  8. ENFI下载器:1元20G高速下载流量,首次使用送3G
  9. go 切片排序以及转为带间隔符的字符串
  10. 学习django教程一