文章目录

  • 一、文章参考
  • 二、why Docker
    • 软件开发环境搭建的问题
    • 解决办法(虚拟机)
    • 解决办法(Linux 容器)
    • 虚拟机 VS linux 容器
  • 三、linux 容器的封装技术 —— Docker
    • Docker 优势
    • Docker 应用场景
    • Docker 概念
      • 镜像与容器的关系?
  • 四、基于阿里云服务器( CentOS 7.X) 安装与启动
    • 安装问题
    • 安装步骤
      • 安装思维导图概览
      • 安装的分布操作

一、文章参考

  1. Docker 入门教程 ruanyifeng
  2. Docker 快速入门

二、why Docker

软件开发环境搭建的问题

  1. 软件正常运行依赖操作系统和软件运行的环境,包括:

    1. 操作系统的环境和版本兼容 (centOS6 和 centOS7, windows 和 Linux)
    2. 软件的安装环境和版本兼容 (JDK1.6 和 JDK1.8, tomcat6 和 tomcat8)
    3. 任何一个条件出差错都有可能导致软件无法正常运行
  2. 如果换了一台机器,就需要重新安装搭建环境,容易出错而且低效

解决办法(虚拟机)

很好的解决了操作系统的版本和兼容问题,但有如下缺点:

  1. 占用资源多
  2. 冗余步骤多
  3. 启动慢
  4. 创建的个数受到硬件的限制

解决办法(Linux 容器)

Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离。或者说,在正常进程的外面套了一个保护层。对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离。

由于容器是进程级别的,相比虚拟机有很多优势:

  1. 启动快
  2. 暂用资源少
  3. 体积小

虚拟机 VS linux 容器

特性 Docker 虚拟机
启动速度 秒级 分钟级
交付/部署 开发、测试、生产环境一致 无成熟体系
性能 近似物理机 性能损耗大
体量 极小(MB) 较大(GB)
迁移/扩展 跨平台,可复制 较为复杂

三、linux 容器的封装技术 —— Docker

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

Docker 优势

  1. 一致的运行环境:Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现“这段代码在我机器上没问题啊”这类问题。
  2. 更快速的启动时间:可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。
  3. 隔离性:避免公用的服务器,资源会容易受到其他用户的影响。
  4. 弹性伸缩,快速扩展:善于处理集中爆发的服务器使用压力。
  5. 迁移方便:可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。
  6. 持续交付和部署:使用Docker可以通过定制应用镜像来实现持续集成、持续交付、部署。

Docker 应用场景

  1. 提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
  2. 提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
  3. 组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

Docker 概念

镜像与容器的关系?

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体

四、基于阿里云服务器( CentOS 7.X) 安装与启动

安装问题

安装docker遇到:package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed

解决办法参考

yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm
yum install docker-ce docker-ce-cli containerd.io

安装步骤

安装思维导图概览

安装的分布操作

1、使用 root 权限登录 Centos。确保 yum 包更新到最新。(非必须)

$ sudo yum update

2、卸载旧版本(如果安装过旧版本的话)

$ sudo yum remove docker  docker-common docker-selinux docker-engine

3、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

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

4、设置yum源(阿里镜像)

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装Docker
sudo yum install docker-ce
  1. 验证
docker -v
  1. 替换docker源地址
sudo vim /etc/docker/daemon.json

注意: 起初是没有这个文件的,需要启动之后才会创建,所以在启动docker 之后再修改文件

{"registry-mirrors":["https://t88rlg2k.mirror.aliyuncs.com"]
}
  1. 启动
sudo systemctl start docker

验证

systemctl status docker

  1. 停止
systemctl stop docker

验证

systemctl status docker

  1. 重启
sudo systemctl restart docker

docker 技术的介绍和安装(一)相关推荐

  1. Docker的简单介绍与安装(Windows10)

    目录 1.什么是Docker 2.Docker的应用场景 3.Docker 的优点 4.Docker 架构 5.Doker安装 Win10 系统 开启 Hyper-V 1.安装 Toolbox 2.运 ...

  2. docker第一章--介绍和安装

    转载于:https://www.cnblogs.com/caiciadeliliang/p/10993278.html

  3. 「docker实战篇」python的docker爬虫技术-在linux下mitmproxy介绍和安装(四)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:「docker实战篇」python的docker爬虫技术-在linux下mitmproxy介绍和安装(四) 上次说了fiddl ...

  4. 《Docker技术入门与实战》——2.3 本书环境介绍

    本节书摘来自华章计算机<Docker技术入门与实战>一书中的第2章,第2.3节,作者:杨保华,戴王剑,曹亚仑著, 更多章节内容可以访问云栖社区"华章计算机"公众号查看. ...

  5. docker介绍和安装以及常用命令

    介绍 Docker是基于Go语言实现的云开源项目. 一次镜像,处处运行 传统的部署项目环境配置相当麻烦,换一台机器,就要重来一次,费力费时. Docker的主要目标是"一次镜像,随处运行&q ...

  6. 《 Docker 技术入门与实战 》读书笔记 ( CentOS 安装 Docker )

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. PS :个人所有读书笔记只记录个人想要的内容,很可能原书大量内容没有纳入笔记中... ... 以下全 ...

  7. TTS技术简单介绍和Ekho(余音)TTS的安装与编程

    TTS技术简单介绍和Ekho(余音)TTS的安装与编程 zouxy09@qq.com http://blog.csdn.net/zouxy09 一.TTS技术简单介绍: TTS技术,TTS是Text ...

  8. docker的介绍、安装、镜像命令

    一. 为什么要使用 Docker 1.1Docker 容器虚拟化的好处 在云时代,开发者创建的应用必须要能很方便地在网络上传播,也就是说应用必须脱离底层物理硬件的限制: 同时必须满足"任何时 ...

  9. ekho tts 下载_TTS技术简单介绍和Ekho(余音)TTS的安装与编程

    TTS技术简单介绍和Ekho(余音)TTS的安装与编程zouxy09@qq.comhttp://blog.csdn.net/zouxy09 一.TTS技术简单介绍:TTS技术,TTS是Text To ...

最新文章

  1. [转]URL汉字编码问题(及乱码解决)
  2. oracle active data guard概述
  3. Android系统如何实现UI的自适应
  4. 什么是python扩展库_什么是目前比较常用的Python扩展库管理工具
  5. 数据看穿一生:前半生赚钱养娃,后半生赚钱买命
  6. shared_ptr,weak_ptr使用最广范的智能指针
  7. WPF引用外部类库中的资源文件提示不能找到的解决方法
  8. linux用户间文件互传,linux之间的文件互传-scp命令
  9. C | 扫雷游戏完整版
  10. 关闭Dynamipsgui的自动更新
  11. ssh 登录linux xsell 登录Linux 提示用户密钥登录怎么解决
  12. PPT里面如何插入斜体文字
  13. Altium Designer--如何添加泪滴
  14. Word不能编辑文档怎么办,文档修改了不能保存怎么办
  15. 1447D Catching Cheaters
  16. linux下固态硬盘ssd优化
  17. linux多字节错误,在Linux中解压缩时遇到多字节字符的问题
  18. 365值得吗 office_对于一个大学生来说,Office365是否值得购买?
  19. python:性能优化(一)
  20. 实验电子商城 mvc设计思想简介

热门文章

  1. java分布式系统是什么意思,什么是分布式系统
  2. 注册安全工程师成绩出来了吗,注安成绩公布日期2023
  3. initialize php,关于_initialize()的详细介绍
  4. FDTD_学习笔记1_sio2镀膜/交互界面初始/结构设置/仿真区域设置/光源选取/监视器的作用/script 文本编辑窗口/sweep optimize
  5. php 给GIF动图加水印,怎么给gif动态图片添加水印
  6. html5未来五年就业前景,未来5年的就业市场会怎样?未来五年发展前景最好的行业...
  7. typescript keyof 和 typeof 用法
  8. bionic linker代码分析(1) - linker自举
  9. 浅谈(Java)NIO-IO多路复用
  10. [工具]EMAGNET:从Pastebin上传的泄漏数据库中捕获电子邮件地址和密码