而对于Docker
的主要实现思路容器化
来说(Docker
其实是容器化技术的一种解决方案和平台),
容器化
不用安装另外的操作系统,只需要使用原来的操作系统运行部分对应功能即可,故占用更少资源、效率大大提高,且支持更多的容器Container
同开。
2. 基本原理和概念
Docker
主要用到镜像、容器和仓库这几种元素。
- 镜像是一个只读的模板,它可以用来创建容器
- 容器是
Docker
的运行实例,它提供了一个独立可移植的环境,我们可以在这个环境中运行应用程序。
镜像和容器的关系就像是
Java
和C++
中的类和实例的关系一样。
- 仓库是用来存储
Docker
镜像的地方。最流行和最常用的仓库就是Dockerhub
。它是一个公共的Docker
仓库,用来集中存储和管理Docker
镜像,类似于存放项目和文件的Github
。我们可以在这里下载和上传自己或他人的镜像文件。
Docker
使用Client-Sever
架构模式,Docker Client
和Docker Daemon
之间通过Socket
或者RESTful API
进行通信。Docker Daemon
就是服务端的守护进程,它负责管理Docker
的各种资源。Docker Client
负责向Docker Daemon
发送请求,后者接收到请求之后进行处理,将结果发还给Docket Client
。此时,Docker Daemon
作为一个后台进程,用来接收并处理来自于Docker
客户端的请求,将结果返回给客户端,然后就可以在终端中看到执行结果了。
3. Docker的安装配置
- 在Docker官网下载安装包然后双击安装即可
- 安装完毕之后记得启动
Docker
,否则之后的操作将无法进行 Windows
要启动Docker
,需要先打开设置Settings
,搜索Hyper
找到启用或关闭Windows功能
点击,勾选Hyper-V
之后按照提示重启电脑就可以打开Hyper-V
功能。这个功能是Docker
运行的前提。Docker
启动之后,会在状态栏(右下角)看到一个小鲸鱼的图标,这是Docker
的图标,显示已经启动了。- 启动之后,可以在终端或者
shell
中使用Docker
的各种命令了
4. Docker常见命令
docker version
:查看Docker的版本信息
一般情况下能同时看到
Client
和Server
。如果你只看到Client
说明你的Docker
没有启动,只有启动后才能看到。
docker info
: 查看docker系统信息docker [command] --help
: 查看Docker
帮助文档docker login\logout
: 登录\退出DockerHub
5. 容器化
- 即
containerization
,顾名思义就是将应用程序打包成容器,然后在容器中运行应用程序的过程。 - 对应用程序的容器化分为以下步骤:
- 创建一个
Dockerfile
,来告诉Docker
构建应用程序镜像。 - 使用
Dockerfile
构建镜像 - 使用镜像创建和运行容器
- 创建一个
Dockerfile
是一类文本文件,里面包含了一条条的指令。指令用来Docker
如何来构建镜像。这个镜像中包含我们应用程序的所有命令(各种依赖、配置环境、运行应用程序所需要的内容).一般来说,我们会在项目的根目录下创建叫Dockerfile
文件,用于在这个文件中写入所需要的各种指令。
-
如何编写
Docker
?- 新建文件夹,命名与
Docker
相关 - 编辑器打开文件夹,创建
index.js
的文件,在文件中输入console.log("文本内容")
,可以在终端中输入node index.js
打开
NodeJS
是一个运行时环境,它可以让我们在浏览器之外的地方运行Javascript
的代码- 创建
Dockerfile
(无拓展名),把运行步骤(程序)写入到Dockerfile
中:
- 先指定一个基础镜像,例如先指定一个操作系统镜像,如
FROM node:14-alpine
,其中14是版本号,alpine
是Linux
轻量级发行版的名称。毕竟镜像是按层次结构来构建的
- 新建文件夹,命名与
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-gzdpAh2y-1712657851293)]