Docker 容器学习笔记以及安装配置

这篇具有很好参考价值的文章主要介绍了Docker 容器学习笔记以及安装配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker 容器学习笔记以及安装配置

容器的由来

早先,虚拟机通过操作系统实现相互隔离,保证应用程序在运行时相互独立,避免相互干扰。但是操作系统又笨又重,耗费资源严重:

Docker 容器学习笔记以及安装配置,环境配置,后端开发,docker,学习,笔记,容器

Docker 容器学习笔记以及安装配置,环境配置,后端开发,docker,学习,笔记,容器

容器技术只隔离应用程序的运行时环境但容器之间共享同一个操作系统,这里的运行时环境指的是程序运行依赖的各种库以及配置。

Docker 容器学习笔记以及安装配置,环境配置,后端开发,docker,学习,笔记,容器

容器更加轻量级且占用资源更少,与操作系统动辄几G的内存占用相比,容器占用的空间少得多,只需要若干M的空间,因此可以在同等规格的硬件上大量部署容器,这是虚拟机无法比拟的,且容器启动速度快,其的打包服务栈提供了更加高效的方式,So cool。

容器是一种通用技术,Docker只是其中一种实现。

什么是Docker

一个用Go语言实现的开源项目,方便用户创建和使用容器,Docker将程序以及程序所有的依赖都打包到Docker container,这样程序在任何环境都有一致的表现,程序运行的依赖也就是容器就好比集装箱,容器所处的操作系统就好比货船或港口,程序的表现之和集装箱有关系(容器),与货船或者港口(操作系统)没关系。

因此我们看到Docker可以屏蔽环境差异,也就是说,只要程序打包到docker中,无论运行在什么环境下程序的行为都是一致的,不会再有“在我的环境上可以运行",可以实现"build once, run everywhere"。

此外Docker另一个好处是快速部署,是当前互联网公司最常见的应用场景,一方面原因是容器的启动速度快,另一方面的原因是只要确保一个容器中的程序正确运行,那么无论在生产环境部署多少都能正常运行。

如何使用Docker

Docker中的重要概念:

  • dockerfile
  • image
  • container

实际上,可以简单的把image理解为可执行程序,container就是运行起来的进程。

写程序需要源代码,“写”image就需要dockerfile,dockerfile就是image的源代码,Docker就是“编译器”。

因此程序员只需要在Dockerfile中指定那些程序、依赖哪些配置,之后dockerfile交给“编译器”Docker进行“编译”,即docker build命令,生成可执行程序就是image,之后就可以运行image了,即docker run命令,image运行起来之后就是docker container。

Docker是如何工作的

实际上docker使用了常见的CS架构,也就是client-server模式,docker client负责处理用户输入的各种命令,比如docker builddocker run,真正工作的其实是server,即docker daemon,值得注意的是,docker client和docker daemon可以运行在同一台机器上。

可以用一下命令解释docker的工作流程:

docker build

当写完dockerfile交给docker“编译”时使用这个命令,那么client在接收到请求后转发给docker daemon,接着docker daemon根据dockerfile创建出“可执行程序”image。

Docker 容器学习笔记以及安装配置,环境配置,后端开发,docker,学习,笔记,容器

docker run

有了“可执行文件”image就可以运行程序了,接下来使用命令docker run,docker daemon接收到该命令后找到具体的image,然后加载到内存开始执行,image执行起来就是所谓的container。

Docker 容器学习笔记以及安装配置,环境配置,后端开发,docker,学习,笔记,容器

docker pull

其实docker build和docker run是两个最核心的命令,会用连个命令基本上docker就可以用起来了,剩下的都是一些补充。

那么docker pull是干嘛的?

我们之前说过,docker中image的概念就类似于“可执行程序”,我们可以从哪里下载到别人写好的应用程序呢?很简单,那就是APP Store,即应用商店。与之类似,既然image也是一种“可执行程序”,那么有没有"Docker Image Store"呢?答案是肯定的,这就是Docker Hub,docker官方的“应用商店”,你可以在这里下载到别人编写好的image,这样你就不用自己编写dockerfile了。

docker registry 可以用来存放各种image,公共的可以供任何人下载image的仓库就是docker Hub。那么该怎么从Docker Hub中下载image呢,就是这里的docker pull命令了。

因此,这个命令的实现也很简单,那就是用户通过docker client发送命令,docker daemon接收到命令后向docker registry发送image下载请求,下载后存放在本地,这样我们就可以使用image了。

Docker 容器学习笔记以及安装配置,环境配置,后端开发,docker,学习,笔记,容器

最后可以了解一下docker的底层实现。

docker的底层实现

docker基于Linux内核提供这样几项功能实现的:

NameSpace

Linux中的PID、IPC、网络等资源师全局的,而NameSpace机制是一种资源隔离方案,在该机制下这些资源不再是全局的,而是属于某个特定的NameSpace,各个NameSpace下的资源互不干扰,使得每个NameSpace看上去就像一个独立的操作系统,但是只有NameSpace是不够的。

Control groups

虽然有了NameSpace技术可以实现资源隔离,但进程还是可以不受控的访问系统资源,比如CPU、内存、磁盘、网络等,为了控制容器中进程对资源的访问,Docker采用control groups技术(也就是cgroup),有了cgroup就可以控制容器中进程对系统资源的消耗了,比如你可以限制某个容器使用内存的上限、可以在哪些CPU上运行等等。

有了这两项技术,容器看起来就真的像是独立的操作系统了。

Docker安装与Dubbo配置

1. 下载Docker desktop

2. 安装,需要提前开启Hyper-V,以开启CPU的虚拟化,详见在 Windows 10 上安装 Hyper-V

我勾选了Use WSL2 instead of Hyper-V
安装完重启即可;

3. 打开Docker Desktop

选择Accept
可以登录账号,(如果有兴趣可以注册并登录)也可以选择不登录使用。

3. 添加阿里云镜像

登录https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors获取镜像地址,并配置。
Docker 容器学习笔记以及安装配置,环境配置,后端开发,docker,学习,笔记,容器

Docker 容器学习笔记以及安装配置,环境配置,后端开发,docker,学习,笔记,容器

4. 配置Dubbo

Dubbo是为了实现模块拆分后的多模块之间的高效通信。
Docker 容器学习笔记以及安装配置,环境配置,后端开发,docker,学习,笔记,容器
Dubbo可以有效的提高RPC框架下的通信效率。因为Dubbo底层通信是用Socket实现的,而不是HTTP,所以通信的性能会更好。Dubbo需要对完提供描述性接口信息的Jar包。提供方需要提供给消费方jar包,消费方才能与提供方进行通信。

总结

docker是目前非常流行的技术,很多公司都在生产环境中使用,但是docker依赖的底层技术实际上很早就已经出现了,现在以docker的形式重新焕发活力,并且能很好的解决面临的问题。
内容参考自:什么是Docker?看这一篇干货文章就够了!文章来源地址https://www.toymoban.com/news/detail-704496.html

到了这里,关于Docker 容器学习笔记以及安装配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VM虚拟机配置centos桌面版以及docker环境配置保姆级安装教程

    目录 一、材料准备 1.VMware Workstation Pro(直接搜索下载即可,激活码搜索一般可用) 2.Centos镜像,我这里提供一份给大家 二、环境搭建 1.centos桌面版安装  2.docker的环境配置 2.1防火墙的关闭  2.2禁用selinux 进入配置文件vim /etc/selinux/config 将SELINUX设置为disabled(使用cat+路径可以直

    2024年02月05日
    浏览(49)
  • ROS学习笔记01、安装Ubuntu18.04以及ROS环境

    马上开学,目前学校很多实验室都是人工智能这块,大部分都是和机器人相关,然后软件这块就是和cv、ros相关,就打算开始学习一下。 本章节是虚拟机安装Ubuntu18.04以及安装ROS的环境。 学习教程:【Autolabor初级教程】ROS机器人入门,博客中一些知识点是来源于赵老师的笔记

    2023年04月08日
    浏览(57)
  • 宝塔Nginx环境安装pagespeed模块加速网站以及配置WebP格式图片加速(笔记)

    起因: 由于站点内很多本地图片每次打开要等很久于是就开始搜索相关内容 卡到了一个pagespeed这么一个模块而且折腾起来也比较简单所以就开始干活正式折腾。 正文: 首先我的环境是centos8+宝塔 【web环境lnmp(linux-ngingx-mysql-php)】 环境不一样的不要直接复制!!! 以下教

    2024年03月21日
    浏览(47)
  • 【Linux】Linux环境配置以及部署项目后端

    接下来看看由辉辉所写的关于Linux的相关操作吧 目录 🥳🥳Welcome Huihui\\\'s Code World ! !🥳🥳 一.Linux环境配置 1.JDK ①上传安装包到服务器 ②解压相应安装包 ③配置环境变量 2.Tomcat ①启动tomcat ②防火墙设置 3.MySQL  ①删除默认数据库 ②将MySQL安装包解压到指定目录 ③安装MySQL ④

    2024年02月06日
    浏览(40)
  • 深度学习docker环境配置之nvidia-docker安装使用

    –docker容器技术–。 简单理解 :Anaconda用于隔离不同的python环境;docker可以理解成在你的机器里面安装了一个独立的系统,因此它可以隔离不同的CUDA环境,还有着独立的文件系统,防止别人删掉你的实验和环境等。 镜像(images)的意思就是静态的镜像文件; 容器(containe

    2024年02月06日
    浏览(45)
  • 【Docker】Docker的使用案例以及未来发展、Docker Hub 服务、环境安全、容器部署安全

    作者简介: 辭七七,目前大二,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖    Docker是一个命令行工具,它提供了中央“docker”执行过程中所需的所有工具 。这使得Docker的操作非常简单。

    2024年02月08日
    浏览(46)
  • docker环境常用容器安装

    目录 1.安装partainer 2.安装myql 3.安装redis 4.安装Minio 5.安装zibkin 6.安装nacos 7.安装RabbitMq 8.安装RocketMq 8.1启动service 8.2修改对应配置 8.3启动broker 8.4启动控制台 9.安装sentinel 10.安装elasticsearch 11.安装Kibana 12.安装logstash/filebeat   前置: docker安装:docker、docker-component安装-CSDN博客 内存

    2024年02月20日
    浏览(43)
  • Windows 下 Docker 容器化开发环境配置

    作者:禅与计算机程序设计艺术 Docker 是一种轻量级虚拟化技术,可以将一个完整的应用或服务打包成一个镜像文件,然后通过 Docker 引擎运行这个镜像,简化了应用或服务在不同环境的部署、迁移及运维等工作。最近几年,越来越多的人开始试用 Docker 来开发和部署应用系统

    2024年02月07日
    浏览(48)
  • 一文学会Docker常见指令以及常见容器安装

    前言 : docker技术应该是每个后端开发人员都需要掌握的知识,熟练掌握docker的常见命令十分必要。 Docker是一种开源的容器化平台,它可以将应用程序及其依赖项打包到一个可移植的容器中,从而实现快速部署和运行。本文将介绍Docker的基本概念、优点和使用方法。 一、Do

    2024年02月11日
    浏览(40)
  • 环境配置 | win10上配置Docker,创建容器并运行【图文详解】

    本文利用图文,详解了在win10上如何配置Docker,创建容器并运行,超简单版~ 电脑环境:windows10家庭版 一定要确认好版本:查看自己的电脑版本,以下操作win10家庭版和专业版都可以。 点击右侧的getDocker 即可,可以看到按钮上面对操作系统的要求为win10专业版 或企业版64位,

    2024年02月07日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包