搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
不正经
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
安装Anaconda在d盘,那么新建环境(比如:tensorflow环境)就默认在d盘中的Anaconda的envs中/同理,安装python的依赖包,也会默认安装在ANACONDA的目录下_anoconda安装在d盘 之 安装tensorflow
2
CAN上的E2E vs SecOC区别_secoc和e2e
3
手把手教你解决 Git 冲突——微软 GitHub 课程_github 上启动学习实验室
4
HarmonyOS Next 实现登录注册页面(ARKTS) 并使用Springboot作为后端提供接口_arkts能写后端吗
5
python 情绪分析_python snownlp情感分析简易demo(分享)
6
基于Java备考自习室预约管理系统-开题报告参考
7
小程序图片上传功能_小程序post方式上传图片
8
如何快速构建自己的AI客服 将GPT接入淘宝,抖店,拼多多,美团等电商平台 实现当前最强的客服机器人_轻简客服
9
深入理解sed中的-n选项和-p选项的用法_sed -n
10
HTML颜色编码和名称_html 红色
当前位置:
article
> 正文
1、为什么使用docker?之docker简介_生物docker作用
作者:不正经 | 2024-04-05 09:17:57
赞
踩
生物docker作用
使用Docker可以很方便的创建和管理镜像,以及管理已经生成的和正在运行的容器。
那么为什么使用镜像和容器呢?
镜像是一种文件存储方式,可以把许多文件(如:一个jar包或多个jar)做成一个镜像文件。例如可以把一个操作系统做成一个GHOST镜像,我们在其他地方用到的时候,只需要把这个镜像拷贝过去,然后就可以用来重装操作系统了。是不是很方便呢?我只需要制作一个镜像,就可以在多个地方去使用啦。
好了回到我们现在说的docker。
大家想试想想平时搭建跑jar项目是不是要在一台电脑上跑,而且有它的一套运行规则。你现在也可以把docker当成是你的一台电脑(当然它是一个虚假的电脑),他也有一套自己的运行规则。所以在docker上运行进程的时候我们要遵循docker的规则。
首先,我们得到别人的镜像库拉取(pull)下来。简单粗暴理解为下载能够在docker运行的程序。
然后,我们在拉取下来的镜像库,添加进新的东西。就别我想在原来镜像的基础上添加多个一个jar程序,这样我们就构建(
build
)成了一个全新的属于你自己的镜像啦。
最后,你就可以运行(run)这个属于你的镜像啦。这个进行就会运行在你docker的容器中。
嗯嗯,整个过程就是这么的简单。
所以呀!!??所以什么呀?所以你从现在开始应该要知道,docker有三大组件了。以后用他就要记住她。
什么三大组件呀?请往下看:
1、docker仓库 (Registy)
docker 仓库是什么鬼?它英文名叫 Docker Registy。我们都是新手小白,刚开始学习,就当理解为App Store吧,反正就是一个用来存放文件程序的公共的地方。只是它不是用来存放苹果app。它是用来存放能够提供docker运行的镜像文件,一般有很多大牛啊,大神,大公司啊什么的放了一些好用的镜像到上面给我们用了,我们可以pull下来直接使用。通常一个仓库会包含一个镜像的不同版本,所以会用不同的标签是定义它。人家通常是通过<镜像名>:<标签>的格式来指定是哪个版本的镜像,如果那人比较懒,不去定义标签。那么就会默认将以latest作为默认标签。所以后你成了大神,上传镜像到仓库的时候不要那么偷懒啊。
docker仓库有2种,一种是上面说的大伙儿都能下下载的。大神们叫它做公共仓库。为什么叫公共仓库。因为很多大神有私有秘密,他们技术又厉害,所以学会了搭建属于自己的仓库,这种属于他们私有的叫私有仓库,为什么这样叫,因为很多大神会在自己公司建立自己的私有仓库放自己的软件包上去,这样他不让你下载只让他的团队去用。能增加权限想给谁访问就给谁访问。这个大伙儿后面再学吧,先用别人的仓库下载别人的东西跑起来再说。
2、docker镜像(Images)
docker镜像,一个能够运行在docker容器上的一组程序文件。他说白了她就是一个能够在docker容器运行的软件,只是它的妈妈曾经给她起了个漂亮的名字叫镜像,方便大伙儿认识,好记住,能够第一时间知道她。它提供了容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等),是一个完整的root文件系统。镜像不包含任何动态数据,原始内容在构建之后也不会被改变。我们下载它后就可以在她的基础(刚下载下来的镜像我们可以叫它做基础层)上增加一层我们的程序了,这样新的镜像就诞生了。我们可以给它取个新名字,新的版本后,一切就绪。我们可以一层一层的添加自己的程序,后面任何一层的改变都不会影响前面一层的,所以的改变只会发现在自己这一层,这样我们后面很方便的复用。好了,一切搞定也不说那么多了,构建好它就可以在docker容器上跑了,下面会继续说的。
镜像构建方式:
通过Dockerfile文件构建(这种用得非常多)
通过容器构建
3、docker容器(Container)
容器,就是运行程序的载体。开发好的软件还得找个操作系统来跑吧,所以容器就是这个作用。
镜像(
Image
)和容器(
Container
)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的 命名空间。因此容器可以拥有自己的
root
文件系统、自己的网络配置、自己的进程空间,甚至自己的用户
ID
空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。 这种特性使得容器封装的应用比直接在宿主运行更加安全。也因为这种隔离的特性,很多人初学
Docker
时常常会把容器和虚拟机搞混。
前面讲过镜像使用的是分层存储,容器也是如此。每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,我们可以称这个为容器运行时读写而准备的存储层为容器存储层。
容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。
按照
Docker
最佳实践的要求,容器不应该向其存储层内写入任何数据,容器存储层要保持无状态化。所有的文件写入操作,都应该使用 数据卷(
Volume
)、或者绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主
(
或网络存储
)
发生读写,其性能和稳定性更高。
数据卷的生存周期独立于容器,容器消亡,数据卷不会消亡。因此,使用数据卷后,容器可以随意删除、重新
run
,数据却不会丢失。
废话了那么多,如果你是大神请略过。小白可以继续关注下一篇更新。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/不正经/article/detail/364751
推荐阅读
article
【
Docker
】
Docker
network
之
bridge
、
host
、
none
、
container
以...
Docker
network
之
bridge
、
host
、
none
、
container
以及自定义
网络
的详细讲解_portai...
赞
踩
article
Docker
Desktop
启动
docker
engine
一直
转圈解决方法_
docker
desk...
首先任务管理器关闭所有
docker
desktop
进程。然后尝试使用手动方法升级wsl。显示成功后,重新打开
docker
...
赞
踩
article
【
docker
】
docker
file构建
镜像
...
docker
run创建并启动容器,再通过
docker
exec/cp 等容器操作指令修改容器内容,然后再去用docke...
赞
踩
article
【
Docker
】
golang
操作
容器
使用
rename
动态更新
容器
的
名字
...
【
Docker
】
golang
操作
容器
使用
rename
动态更新
容器
的
名字
【
Docker
】
golang
操作
容器
使用renam...
赞
踩
article
docker
:
permission
denied
while trying to
connect
...
今天执行
docker
时候报错,
docker
:
permission
denied
while trying to con...
赞
踩
article
宝塔
docker
安装
rabbitmq
...
【代码】宝塔
docker
安装
rabbitmq
。宝塔
docker
安装
rabbitmq
...
赞
踩
article
【
Docker
】
若依
ruoyi
项目
部署_
若依
项目
部署...
【
Docker
】
若依
ruoyi
项目
部署_
若依
项目
部署
若依
项目
部署 一 搭建局域网 1 # 搭建n...
赞
踩
article
Docker
|
Docker
+
Nginx
部署
前端
项目_
docker
部署
nginx
并
部署
前端
项目...
大家好,我是Leo哥
docker
部署
nginx
并
部署
前端
项目 =...
赞
踩
article
Docker
修改
daemon
.
json
添加日志后无法
启动
的问题_/
etc
/
docker
/
daemon
...
Docker
修改配置文件
daemon
.
json
文无法
启动
Docker
配置文件中添加日志配置后无法
启动
_/
etc
/dock...
赞
踩
article
Docker
部署开源
远程桌面
工具
RustDesk
...
Key:id_ed25519.pub,文件在服务器。1、在控制端输入被控制端的ID,连接。4、被控制端设置与控制端一样。...
赞
踩
article
Redis
安装-
Docker
...
Docker
启动
Redis
容器
Redis
安装-
Docker
安装...
赞
踩
article
Docker
下
OnlyOffice
社区
版
安装_
onlyoffice
社区
版
...
ONLYOFFICE Docs是一个在线办公套件,包括文本、电子表格和演示文稿的查看器和编辑器,与Office Open...
赞
踩
article
wekan
docker
安装
部署
_
wekan
docker
版
部署
...
1、
wekan
相关资料(1)、
wekan
安装:https://github.com/
wekan
/
wekan
/wiki/D...
赞
踩
article
利用
docker
实现
JMeter
分布式
压测...
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望...
赞
踩
article
Docker
笔记...
这样就可以成功删除了。
Docker
笔记 1.Ubuntu安装
Docker
安装
Docker
看这...
赞
踩
article
【
Docker
】
Docker
中
network
的概要、
常用命令
、
网络
模式
以及
底层
ip和容器映射变化的详...
Docker
中
network
的概要、
常用命令
、
网络
模式
以及
底层
ip和容器映射变化的详细讲解_
docker
network
...
赞
踩
article
微
服务
入门篇:
Docker
容器
技术(
docker
安装
,
镜像
操作
,
容器
操作
,
数据卷
volume
,
自定义...
Docker
是一种开源的
容器
化平台
,
它可以帮助开发者将应用程序、环境和依赖项打包到一个可移植的
容器
中
,
并部署到任何支持D...
赞
踩
article
开源看板
wekan
docker
-
compose
部署
_
wekan
docker
compose
...
1.安装
docker
curl -sSL https://get.
docker
.com/ | sh异常Error: doc...
赞
踩
article
docker
安装
mongodb
_
docker
mongodb
...
docker
search mongo
docker
pull mongo:4.2.0
docker
run --name ...
赞
踩
article
【
Docker
】
Docker
安装
MongoDB
最新版并连接使用附加
docker
常用命令
_
docker
...
【
Docker
】
Docker
安装
MongoDB
最新版并连接使用附加
docker
常用命令
_
docker
安装的
mongodb
...
赞
踩
相关标签
docker
网络
容器
云原生
运维
golang
rename
动态更新
操作容器
rabbitmq
php
eureka
nginx
前端