Docker的学习笔记(一)

一、废话前言

如果你是数据中心或云计算IT圈子的人,我想你一定听过Docker,关于它们的新闻从未间断过。Docker的发展历程虽然算不上太长,但是自2014年6月Docker 1.0 正式发布,但是Docker确实越来越流行,因为Docker确实很强大。

二、Docker是什么?

简单来说,Docker是一个由GO语言写的程序运行的“容器”(Linux containers);目前云服务的基石是操作系统级别的隔离,在同一台物理服务器上虚拟出多个主机。Docker则实现了一种应用程序级别的隔离;它改变我们基本的开发、操作单元,由直接操作虚拟主机(VM),转换到操作程序运行的“容器”上来,它可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。

三、Docker的优势?

1)快:运行时的性能可以获取极大提升,管理操作(启动,停止,开始,重启等等)都是以秒或毫秒为单位的。
2)敏捷:像虚拟机一样敏捷,而且会更便宜。
3)灵活:将应用和系统“容器化”,不添加额外的操作系统。
4)轻量:你会拥有足够的“操作系统”,仅需添加或减小镜像即可。在一台服务器上可以布署100~1000个Containers容器。
5)便宜:开源的,免费的,低成本的。由现代Linux内核支持并驱动。轻量的Container必定可以在一个物理机上开启更多“容器”,注定比VMs要便宜。
6)生态系统:正在越来越受欢迎,只需要看一看Google的趋势就知道了。

四、Docker的应用场景是什么?

1)应用打包
在传统的基础设施环境下,为了保证所生成的软件包在其它机器上可正常安装且运行,一般需要在打包之前创建个干净的虚拟机,然后在这个干净的环境下安全各种依赖包,然后执行打包脚本。生成软件包以后,需要再创建一个干净的环境安装、运行这个软件包,来验证是否符合预期。这样做无疑耗时耗力,而且容易漏掉一些依赖关系。通过docker就能很好的解决打包问题,首先“干净的打包环境”很容易准备,docker官方提供的ubuntu、centos等系统镜像天生就能作为纯净无污染的打包环境使用,其次Dockerfile本身能起到文档固化的作用,只要写好Dockerfile,创建好打包镜像,以后就能无限次重复使用这个镜像进行打包。

2)多版本混合部署
随着产品的不断更新换代,一台服务器上部署多个应用或者同一个应用的多个版本在企业内部非常常见。但一台服务器上部署同一个软件的多个版本,文件路径、端口等资源往往会发生冲突,造成多个版本无法共存的问题。如果用docker,这个问题将非常简单。由于每个容器都有自己独立的文件系统,所以根本不存在文件路径冲突的问题; 对于端口冲突问题,只需要在启动容器时指定不同的端口映射即可解决问题。

3)升级回滚
一次升级,往往不仅仅是应用软件本身的升级,通过还会包含依赖项的升级。但新旧软件的依赖项很可能是不同的,甚至是有冲突的,所以在传统的环境下做回滚一般比较困难。如果使用docker,我们只需要每次应用软件升级时制作一个新的docker镜像,升级时先停掉旧的容器,然后把新的容器启动。需要回滚时,把新的容器停掉,旧的启动即可完成回滚,整个过程各在秒级完成,非常方便。

4)内部开发环境
在容器技术出现之前,公司往往是通过为每个开发人员提供一台或者多台虚拟机来充当开发测试环境。开发测试环境一般负载较低,大量的系统资源都被浪费在虚拟机本身的进程上了。docker容器没有任何CPU和内存上的额外开销,很适合用来提供公司内部的开发测试环境。而且由于docker镜像可以很方便的在公司内部分享,这对开发环境的规范性也有极大的帮助。

Docker在阿里云服务器安装傻瓜式菜鸟教程

Docker安装菜鸟教程,Centos使用yum安装成功。
https://www.runoob.com/docker/centos-docker-install.html
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

  1. 通过命令查看你当前的内核版本:
    uname -r
    在这里插入图片描述

  2. 安装 Docker先移除旧的版本:
    sudo yum remove docker
    docker-client
    docker-client-latest
    docker-common
    docker-latest
    docker-latest-logrotate
    docker-logrotate
    docker-selinux
    docker-engine-selinux
    docker-engine
    在这里插入图片描述

  3. 安装一些必要的系统工具:
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    在这里插入图片描述

  4. 添加软件源信息:
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    在这里插入图片描述

  5. 更新 yum 缓存:
    sudo yum makecache fast
    在这里插入图片描述

  6. 安装 Docker-ce:
    sudo yum -y install docker-ce

  7. 测试安装:
    docker version
    在这里插入图片描述

  8. 安装完成后需要配置镜像加速器:
    因为默认配置的是国外的一种镜像源经常的超时。
    您可以修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。

    {
    	"registry-mirrors": ["https://registry.docker-cn.com"]
    }
    
  9. 保存后重启:
    systemctl restart docker

  10. 查看Docker进程:
    在这里插入图片描述

  11. 卸载Docker:
    sudo yum remove docker-ce
    sudo rm -rf /var/lib/docker(默认安装路径)
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我会帮助你记录和学习Docker的知识点。下面是一份Docker学习笔记: 1. 什么是DockerDocker是一个开源的容器化平台,可以帮助开发者创建、打包、部署和运行应用程序,使应用程序可以在不同的环境无缝运行。 2. Docker的优势有哪些? - 轻量化:Docker容器与虚拟机相比更加轻量级,启动和停止速度更快。 - 可移植性:Docker容器可以在任何支持Docker的平台上运行,无需担心环境不一致的问题。 - 隔离性:Docker使用容器技术进行隔离,每个容器之间相互独立,不会相互影响。 - 效率:Docker可以将应用程序及其依赖项打包为一个镜像,部署和扩展非常方便。 3. Docker常用的概念: - 镜像(Image):一个只读的模板,包含了运行应用程序所需的所有文件和依赖项。 - 容器(Container):基于镜像创建的可执行实例,可以运行、停止、删除等操作。 - 仓库(Registry):用于存储和分享镜像的地方,常用的有Docker Hub。 - Dockerfile:用于定义镜像构建过程的文本文件,包含了一系列的指令和配置。 4. Docker基本使用命令: - `docker pull <image-name>`:从仓库拉取指定镜像。 - `docker run <image-name>`:创建并运行一个新的容器。 - `docker ps`:查看当前正在运行容器。 - `docker stop <container-id>`:停止指定容器运行。 - `docker rm <container-id>`:删除指定容器。 - `docker rmi <image-name>`:删除指定镜像。 5. Docker常见应用场景: - 镜像管理:可以通过Docker镜像进行应用程序开发、测试和部署。 - 微服务架构:通过容器化实现应用程序的模块化,方便管理和扩展。 - CI/CD:在持续集成和持续部署过程使用Docker来构建、测试和发布应用程序。 这些是Docker学习过程的一些基础知识点和常用命令。希望对你有帮助!如果你还有其他问题,可以随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值