Docker入门篇(一)安装docker

Docker的来源

由dotCloud公司首创及正式命名,但是企业规模小,影响力不够,所以在快要坚持不住的时候,开始吃百家饭——开源了。不开则已,一开惊人。越来越多的IT工程师发现了Docker的优点,然后蜂拥而至,加入Docker开源社区。

Docker概述

Docker是什么?

我们都用过虚拟机。虚拟机,就是在操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来,像VMWare。

在这些虚拟出来的电脑上,一样可以运行程序,如果我愿意,可以虚拟出很多台“子电脑”,然后在上面开上QQ,而且“子电脑”之间是互相隔离的,互不影响。

虚拟机属于虚拟化的技术,Docker也属于虚拟化技术,但是他是一个轻量级的虚拟化。

为什么说是轻量级的虚拟化呢,容器的启动时间非常快,几秒钟就完成了,而且对资源的利用率非常高(一台主机可以同时运行几千个Docker容器)。此外,它占用的空间很小,是进程级别的,虚拟机一般需要几GB-几十GB,而容器只是MB甚至KB级。

linux

Dokcer

划重点: Docker本身不是容器,它只是用来创建容器的一个工具,是一个应用容器的引擎。

Docker的作用

我们先看看docker的两句口号:

口号

  • “Build, Ship and Run”。构建,交付,运行。
  • “Buidl once,Run anywhere”。搭建一次,哪都能用。

举个例子:公司有个项目要部署上87这台服务器,花了半天时间,在87服务器上安装好了jdk、mysql、redis、rabbitmq...,成功部署上线。

过了一个月,因为某种原因,项目要重新部署上86的服务器。按照以前的办法,只能jdk、mysql...一条龙部署。

而docker的做法就是,把各种容器运行时所需要的程序、库、资源、配置文件、环境变量等等打包成docker镜像,放进docker仓库里,什么时候要用了,拿来跑就行。

Docker安装

Docker的基本组成

  • 镜像(image):

    docker镜像就相当于是一个模板,可以通过这个模板来创建容器服务

    例:tomcat镜像=>run=>tomcat01容器(提供服务器),可以通过这个tomcat镜像创建多个tomcat容器。

  • 容器(container)

    docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建。

    有启动,停止,删除等基本命令。

    暂时先看做一个简易版的linux系统。

  • 仓库(repository)

    仓库就是存放镜像的地方

    同git一样,分为公有仓库和私有仓库

    官方:Docker Hub(外网)

    阿里云(配置镜像加速),类似maven配置阿里云镜像加速

安装Docker

环境准备

  1. centos7

  2. 3.10以上的内核

    [root@izbp1h615wcf61lkfqrqk2z ~]# uname -r
    3.10.0-514.26.2.el7.x86_64

安装

#1. 卸载旧的docker版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#2. 安装需要的安装包
sudo yum install -y yum-utils #3. 设置镜像的仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo #默认国外 sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #推荐使用阿里云
# 4.更新yum软件包索引
yum makecache fast
#5. 安装docker相关 docker-ce社区版 ee企业版
sudo yum install docker-ce docker-ce-cli containerd.io
#6. 启动docker
sudo systemctl start docker
#7.使用docker version查看是否安装成功
#8.测试hello world
sudo docker run hello-world
#9.查看hello world镜像是否被pull
docker images

删除docker

#删除docker
sudo yum remove docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker

Docker入门篇(一)安装docker的更多相关文章

  1. Docker入门之 - 如何安装Docker CE

    原文:Docker入门之 - 如何安装Docker CE 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012055638/article/det ...

  2. Docker入门详解——安装docker并利用docker搭建lnmp

    首先我们需先安装docker环境,这个比较简单,以centos7为例 docker在centos7上安装需要系统内核版本3.10+,可以通过uname -r查看内核版本号,如果版本不符请自行查阅资料更 ...

  3. 【Docker】(1)---Docker入门篇

    Docker入门篇 简单一句话: Docker 是一个便携的应用容器. 一.Docker的作用 网上铺天盖地的是这么说的: (1) Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得 ...

  4. Docker入门 .Net Core 使用Docker全程记录

    https://www.cnblogs.com/flame7/p/9210986.html Docker入门 第一课 --.Net Core 使用Docker全程记录   微服务架构无疑是当前最火热的 ...

  5. 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World

    操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...

  6. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  7. Docker 技术系列之安装Docker Desktop for Mac

    终于要进入到Docker技术系列了,感谢大家的持续关注. 为什么要选择Docker?因为Docker 轻巧快速,提供了可行.经济.高效的替代方案.举个例子,安装Nginx,Mysql,Redis等常用 ...

  8. Docker 入门篇

    Docker 简介 作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势. 更高效的利用系统资源 更快速的启动时间 一致的运行环境 持续交付和部署 更轻松的迁移 更轻松的维护和 ...

  9. Docker入门(windows安装)

    Docker入门(安装)Docker是一种轻量级容器技术,实际中直接运行在当前操作系统(Linux)上,而不是虚拟机中.PaaS提供了存储,数据库,网络,负载均衡,自动扩展等功能,Docker云平台就 ...

随机推荐

  1. 扬我国威,来自清华的开源项目火爆Github

    前几天TJ君跟大家分享了几个有趣的Github项目(加密解密.食谱.新冠序列,各种有趣的开源项目Github上都有),其中呢,有不少是来自斯坦福大学的项目,当时TJ君就不由得想,什么时候能看到的项目都 ...

  2. 我在这里的处女篇(Word技巧集团)

    传说这里的文章可以在Word上打好了发布,Word嘛,有[听写]功能,不用打字了: 写好的文章还可以[大声朗读],边听边看最容易找"通假字"了. 冲这,我的新阵地就定这里了,哈哈~

  3. Python学习问题汇总

    个人Python学习过程中遇到问题汇总,不断更新. 一.读取文件是报FileNotFoundError: 前期了解:python是在当前执行文件所在的目录中查找文件. 解决方法: 1.查看输入文件名是 ...

  4. Shell之Sed常用用法

    匹配某字符串开头的行,整行替换 文本原内容 目的: SELINUX= 整行替换为SELINUX=disabled # grep -Ev '^$|^#' /etc/selinux/config SELI ...

  5. c++之常见数据类型(int,double,float,long double long long 与std::string之间)相互转换(含MFC的CString、含C++11新特性函数)

    --- 已经通过初步测试---- ------------------ 下面的是传统常见数据类型的转换(非c++11)---------------  std::string 与其他常用类型相互转换, ...

  6. 【LeetCode】921. Minimum Add to Make Parentheses Valid 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址: https://leetcode. ...

  7. 【LeetCode】901. Online Stock Span 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 单调递减栈 日期 题目地址:https://leet ...

  8. OA系统中手写签批功能的实现

    一.需求背景 OA系统审批中,有对word或者pdf文件源文档在指定的位置可以插入相应的文字,其实就是一个审批的功能,到了指定的人那边,他可以进行签批.这个功能一般来说,是针对于领导方面,对于一个事情 ...

  9. Categorical Reparameterization with Gumbel-Softmax

    目录 概 主要内容 Gumbel distribution Jang E., Gu S. and Poole B. Categorical reparameterization with gumbel ...

  10. [opencv]计算多边形逼近曲线的长度

    //利用曲线逼近,计算逼近曲线的长度 //首先创建一个逼近曲线 vector<Point2f> approx; approxPolyDP(contours[i], approx, 2, t ...