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. 使用.NET 6开发TodoList应用(1)——系列背景

    前言 想到要写这样一个系列博客,初衷有两个:一是希望通过一个实践项目,将.NET 6 WebAPI开发的基础知识串联起来,帮助那些想要入门.NET 6服务端开发的朋友们快速上手,对使用.NET 6开发 ...

  2. matplotlib模块详解

    简单绘图,折线图,并保存为图片 import matplotlib.pyplot as plt x=[1,2,3,4,5] y=[10,5,15,10,20] plt.plot(x,y,'ro-',c ...

  3. 深刨显式锁ReentrantLock原理及其与内置锁的区别,以及读写锁ReentrantReadWriteLock使用场景

    13.显示锁 在Java5.0之前,在协调对共享对象的访问时可以使用的机制只有synchronized和volatile.Java5.0增加了一种新的机制:ReentrantLock.与之前提到过的机 ...

  4. CF1514A Perfectly Imperfect Array 题解

    Content 给定一个长度为 \(n\) 的序列,问是否存在一个非空子序列,使得这个子序列所有元素的积不是完全平方数. 数据范围:\(t\) 组数据,\(1\leqslant t\leqslant ...

  5. Python3 中bytes数据类型深入理解(ASCII码对照表)

    bytes的来源 bytes 是 Python 3.x 新增的类型,在 Python 2.x 中是不存在的. bytes 的意思是"字节",以字节为单位存储数据.而一个字节二进制为 ...

  6. IDEA设置maven打包的时候跳过单元测试

    pom增加插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>mav ...

  7. worksocket使用Nginx进行反向代理

    配置文件 map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream weoskceturl{ serv ...

  8. XSS工具类,清除参数中的特殊字符

    package com.xss; import java.util.regex.Pattern; /** * XssUtil 工具类 */ public class XssUtil { static ...

  9. c++设计模式概述之访问者

    代码写的不够规范,目的是为了缩短篇幅,实际中请注意. 参看: http://c.biancheng.net/view/1397.html 1.概述 类比生活中的场景,购物商场中的商品.顾客.收营员.商 ...

  10. 【LeetCode】421. Maximum XOR of Two Numbers in an Array 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 依次遍历每一位 前缀树 日期 题目地址:https://lee ...