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. 洛谷八月月赛 II T2 题解

    Content 现有 \(T\) 次询问. 每次询问给定一个长度为 \(n\) 的 01 串,记为 \(A\).回答应是一个字符串 \(B\),满足: \(B\) 是长度为 \(m\) 的 01 串. ...

  2. Java 将PDF转为线性PDF

    线性化PDF文件是PDF文件的一种特殊格式,可以通过Internet更快地进行查看.线性化的PDF,在页面数量很多的情况下,更能突出表现出快速浏览的优势.下面是通过后端Java程序实现将PDF文件转为 ...

  3. 五、Uniapp+vue+腾讯IM+腾讯音视频开发仿微信的IM聊天APP,支持各类消息收发,音视频通话,附vue实现源码(已开源)-聊天输入框的实现

    会话好友列表的实现 1.项目引言 2.腾讯云后台配置TXIM 3.配置项目并实现IM登录 4.会话好友列表的实现 5.聊天输入框的实现 6.聊天界面容器的实现 7.聊天消息项的实现 8.聊天输入框扩展 ...

  4. SampleNet: Differentiable Point Cloud Sampling

    Abstract 经典的采样方法(FPS)之类的没有考虑到下游任务. 改组上一篇工作没有解决不可微性,而是提供了变通的方法. 本文提出了解决不可微性的方法 可微松弛点云采样,近似采样点作为一个混合点在 ...

  5. SpringBoot整合Swagger框架 ,并设置接口请求头token默认值

      引入maven依赖 <!-- swagger2--> <dependency> <groupId>io.springfox</groupId> &l ...

  6. c++之一个方便的日志库

    概述 本文演示环境: win10 + vs2017 日志,我用的很少,通常是用作动态库调试使用. 日志记录下来,基本就没看过,除非模块出现了问题. 使用cmake管理的项目 使用C++封装了C语言读写 ...

  7. c++之升序和降序排序

    1.头文件 #include <functional> 2. 降序 // 期末成绩 int score[] = {99, 77, 30, 80}; // 1. 降序排列 std::sort ...

  8. 【LeetCode】123. Best Time to Buy and Sell Stock III 解题报告(Python)

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

  9. 【LeetCode】930. Binary Subarrays With Sum 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 二分查找 字典 相似题目 参考资料 日期 题目地址: ...

  10. A. Toda 2

    A. Toda 2 time limit per test 2 seconds memory limit per test 512 megabytes input standard input out ...