旧log:

新log:

docker官方网址:https://www.docker.com/
docker官方仓库:https://hub.docker.com/

docker的基本概念

1、Docker是什么

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。

诞生于2013年,最初发起者是dotCloud公司,后来改名为Docker Inc
Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。
docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。

  • 1、不同的应用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成一些冲突。比如IIS和Apache访问端口冲突。这个时候你就要隔离.net开发的网站和php开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。docker可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机小,小就意味着省钱了。
  • 2、你开发软件的时候用的是Ubuntu,但是运维管理的都是centos,运维在把你的软件从开发环境转移到生产环境的时候就会遇到一些Ubuntu转centos的问题,比如:有个特殊版本的数据库,只有Ubuntu支持,centos不支持,在转移的过程当中运维就得想办法解决这样的问题。这时候要是有docker你就可以把开发环境直接封装转移给运维,运维直接部署你给他的docker就可以了。而且部署速度快。3.在服务器负载方面,如果你单独开一个虚拟机,那么虚拟机会占用空闲内存的,docker部署的话,这些内存就会利用起来。
  • docker 是一种轻量级的“虚拟机”
  • 在Linux容器里运行应用的开源工具

2、Docker和虚拟机的区别

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

Docker之所以拥有众多优势,与操作系统虚拟化自身的特点是分不开的。传统虚拟机需要有额外的虚拟机管理程序和虚拟机操作系统层,而Docker容器是直接在操作系统层面之上实现的虚拟化。

3、Docker的使用场景

  • 打包应用程序简化部署
  • 可脱离底层硬件任意迁移

例:服务器从腾讯云迁移到阿里云,如果采用Docker容器技术,迁移只需要在新的服务器上启动需要的容器即可。

4、Docker的核心概念

image:镜像——镜像的是容器运行的基石
container:容器——容器是镜像运行之后的实例
repostory:仓库——镜像的集合存储的地方

详解:
1、镜像
Docker的镜像(lmage)是创建容器的基础,类似虚拟机的快照,可以理解为是一个面向Docker容器引擎的只读模板。(比如:一个镜像可以是一个完整的CentOS操作系统环境,称为一个CentOS镜像;可以是一个安装了MySQL的应用程序,称为一个MySQL镜像等等。)Docker提供了简单的机制来创建和更新现有的镜像,用户也可以从网上下载已经做好的应用镜像来直接使用。
2、容器
Docker的容器(Container)是从镜像创建的运行实例。它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,可以保证安全性的平台。可以把容器看作一个简易版的Linux环境,Docker利用容器来运行和隔离应用。
3、仓库
仓库注册服务器(Registry)是存放仓库的地方,其中包含了多个仓库,每个仓库集中存放某一类镜像,并且使用不同的标签(Tag)来区分它们。

Docker安装

Docker支持在主流的操作系统平台上进行使用,包括Windows系统、Linux系统及MacOS系统等。目前最新的RedHat RHEL、CentOS及Ubuntu系统官方软件源中都已经默认自带了Docker包,可直接安装使用,也可以用Docker自己的YUM源进行配置。

docker-EE:企业版————docker-CE:社区版
使用docker的基本要求:

内核版本必须是3.10以上的。查看内核版本:uname -r

[root@docker ~]# uname -r
3.10.0-514.el7.x86_64
centos 6:内核版本2.6——能否使用docker?——能——>升级内核版本

方案一:从Docker的官方下载

docker的官方网址:https://www.docker.com/





[root@docker ~]# wget https://download.docker.com/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo        #下载docker官方yum源到本地/etc/yum.repos.d/docker-ce.repo[root@docker ~]# yum repolist
……
(3/4): docker-ce-stable/x86_64/primary_db                                   |  45 kB  00:00:01
(4/4): docker-ce-stable/x86_64/updateinfo                                   |   55 B  00:00:02
……
docker-ce-stable/x86_64                      Docker CE Stable - x86_64                           79
……#[root@docker ~]# yum -y install docker      #不推荐使用!!!国外太慢!!!

因为网速原因,所以可以采取另外一种方法,从国内下载,国内很多网站都提供了docker-ce的镜像站,比如说阿里云、网易云、清华大学镜像站等。这里我从阿里云下载的方式来下载。

方案二:阿里云下载

阿里云镜像站:https://developer.aliyun.com/mirror/

mv /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce.repo.bak       #备份刚docker的官方yum源
yum install -y yum-utils device-mapper-persistent-data lvm2     #安装必要的一些系统工具
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo      #添加软件源信息
#更新并安装Docker-CE
yum makecache fast
#yum -y install docker-ce       #不推荐!!!直接yum下载最新版本!!![root@docker ~]# yum list docker-ce.x86_64 --showduplicates | sort -r       #查找Docker-CE可用版本
docker-ce.x86_64            3:19.03.9-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.8-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.7-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.6-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.5-3.el7                     docker-ce-stable#这里下载指定版本18.9.0,注意并没有采取阿里云官方推荐的方法,分别下载了docker-ce,docker-ce-cli这2个组件
yum install docker-ce-18.09.0 docker-ce-cli-18.09.0         #安装指定版本的Docker-CE#最小化安装系统的,可以再去下载下边的工具,用来实现tab建自动补全的功能
yum -y install bash-completion[root@docker ~]# systemctl start docker          #启动
[root@docker ~]# systemctl enable docker       #开启自启
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.[root@docker ~]# docker version          #效验版本
Client:Version:           18.09.0API version:       1.39Go version:        go1.10.4Git commit:        4d60db4Built:             Wed Nov  7 00:48:22 2018OS/Arch:           linux/amd64Experimental:      falseServer: Docker Engine - CommunityEngine:Version:          18.09.0API version:      1.39 (minimum version 1.12)Go version:       go1.10.4Git commit:       4d60db4Built:            Wed Nov  7 00:19:08 2018OS/Arch:          linux/amd64Experimental:     false
[root@docker ~]# docker pull centos:7       #国外的仓库!!!非常慢!!!

docker镜像的加速器(daocloud、aliyun)

1、daocloud加速器

daocloud官网:https://www.daocloud.io/
使用docker镜像加速器,这里使用的是daocloud的加速器,当然还有其他的加速器,例如阿里云、清华镜像站等

[root@docker ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io#加速器完成之后,会生产/etc/docker/daemon.json文件,里边记载着刚刚加载成功的加速器的网址。如果想要替换其他网站的加速器,只需要更改此网址即可
[root@docker ~]# cat /etc/docker/daemon.json
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}#PS:还有别忘了,如果更改了配置文件选项,别忘了重启一下docker服务
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
[root@docker ~]# docker info
……
Registry Mirrors:http://f1361db2.m.daocloud.io/
……

2、aliyun加速器

阿里云官网:https://developer.aliyun.com/mirror/


[root@docker ~]# cat /etc/docker/daemon.json
{"registry-mirrors": ["https://leo12tew.mirror.aliyuncs.com"]
}[root@docker ~]# docker info
……
Registry Mirrors:https://leo12tew.mirror.aliyuncs.com/
……
[root@docker ~]# vim /etc/sysctl.conf
#添加
[root@docker ~]# sysctl -p
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1

管理docker常用的基础命令

docker load -i ubuntu.tar    导入本地镜像
docker run -it --name vm1 ubuntu    创建容器(以ubuntu镜像为模板 可交互)
docker ps   查看容器状态
docker ps -a    查看容器状态(包括不活跃的容器)
docker attach vm1   连接容器
docker inspect vm1  查看容器详情
docker run -d --name vm1 ubuntu     运行容器打入后台
[root@docker01 ~]# docker pull centos:7     #从仓库中拉取镜像centos:7
[root@docker01 ~]# docker image ls         #查看已有的镜像(可简写为docker images)
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              7                   7e6257c9f8d8        2 weeks ago         203MB

注释:

REPOSITORY 镜像属于的仓库
TAG 镜像的标签信息,标记同一个仓库中的不同镜像
IMAGE ID 镜像的唯一ID号,唯一标识了该镜像
CREATED 镜像创建时间
SIZE 镜像大小
[root@docker01 ~]# docker ps        #查看正在运行的容器

全部完成之后,关机快照留用即可

Docker——1——Docker的安装/加速器相关推荐

  1. Docker基础(centos安装、阿里云镜像加速器配置、常用命令、数据卷、DockerFile、镜像推送阿里云等)

    Centos 8.1安装Docker 下载docker-ce.repo curl https://download.docker.com/linux/centos/docker-ce.repo -o ...

  2. mac下安装docker并使用阿里云加速器

    一.用迅雷下或者其他下载工具下载以下三个连接的资源(终端下载可能比较慢): Docker: https://download.docker.com/mac/stable/Docker.dmg Dock ...

  3. (一)Docker在centos7中安装教程,并安装镜像加速器

    目录 一.docker简介 1.docker是什么 2.虚拟机与容器虚拟化技术对比 (1)传统虚拟机 (2)容器虚拟化技术 二.docker基本组成 1.镜像(image) 2.容器(containe ...

  4. docker 卸载镜像_Centos7 安装 Docker

    Centos7 安装 Docker 1.卸载旧版本 sudo yum remove docker docker-client docker-client-latest docker-common do ...

  5. docker容器简介及安装

    docker容器简介及安装 一.docker的前世今生 早期 过度 目前 二.什么是docker 三.docker核心概念 1.镜像 2.容器 3.仓库 四.docker容器和虚拟机的区别 五.doc ...

  6. Docker(一) docker简介安装以及下载运行第一个镜像

    一.什么是Docker docker简介: docker是一个开源的应用容器引擎,基于go语言,遵从apache2.0协议开源.通过docker让开发者可以打包他们的应用以及依赖到一个可移植的镜像中, ...

  7. Docker笔记 —— 简介与安装 + Centos的一些配置

    文章目录 项目部署的历史演化 Docke简介与安装 简介 功能 版本 安装Docker 启动Docker服务 运行Docker容器 配置使用阿里云加速服务 其他一些关于centos的配置 项目部署的历 ...

  8. centos7 安装docker-ce社区版 ,最新版本docker,docker阿里云加速

    直接用yum install docker -y安装的docker版本为1.12,但是docker发展很快,现在都18.06.0了.docker-ce是指docker的社区版 卸载老版本的 docke ...

  9. Linux系统Docker配置阿里云镜像加速器

    安装/升级Docker客户端 推荐安装1.10.0以上版本的Docker客户端,参考文档 docker-ce 配置镜像加速器 针对Docker客户端版本大于 1.10.0 的用户 您可以通过修改dae ...

最新文章

  1. 南京晓庄学院大一第二学期计算机数据结构期末考试试卷及答案,南京晓庄学院数据结构题库参考答案.docx...
  2. 从Java到Kotlin(五)
  3. python 矩阵点乘_python相乘矩阵
  4. Linux Ubuntu下Jupyter Notebook的安装
  5. Java实验9 T5. 给当前的类文件添加行号拷贝到txt文件
  6. full stack on the road
  7. Tcl Tutorial 笔记4 ·if
  8. 第26条:优先考虑泛型
  9. oracle:plsql学习总结(oracle database 10g sql 开发指南)
  10. poj2387(Dijkstra)
  11. 概率神经网络的主要思想,神经网络随机数预测
  12. 【SDC】StreamSets实战之路-11-基础篇- StreamSets-数据流开发- Edge数据流设计
  13. Win11 25179.1000补丁推送了!
  14. Android应用开发-小巫CSDN博客客户端总结篇
  15. 深度优先搜索/广度优先搜索
  16. 业务范围(business area)
  17. 博客之星2018 ,请为我投上您宝贵的一票!
  18. Choco求解器的安装
  19. 工作日志之Sonar扫描错误处理-Sonar扫描结果入库 java.sql.BatchUpdateException: Incorrect string value: '\xF3\xA3\xAC\xB
  20. PS 考试案例 03笔记

热门文章

  1. webug靶场xss篇
  2. 基于java+ssm+vue婚纱摄影网站
  3. shellcode绕过kav6
  4. SystemVerilog搭建APB_I2C IP 层次化验证平台
  5. Linux 安装Nginx教程
  6. Chapter 15 Outcome Regression and Propensity Scores
  7. Java 序列化及解决方案
  8. 搜狗发布新研究:语音+唇语让语音识别更准确
  9. 寒门学子的奋斗史(三) —— 走进大城市
  10. 闪客工具:基于Flash 3D API Molehill 进行GPU加速2D的引擎