Board logo

标题: 哪位大大可以科普一下docker?现在很多docker的应用,但是好像很复杂 [打印本页]

作者: qazqaz    时间: 2024-6-29 13:10     标题: 哪位大大可以科普一下docker?现在很多docker的应用,但是好像很复杂

posted by wap, platform: Samsung
看了一下,还要映射硬盘啦,端口啦什么的,好像很麻烦。
作者: beterhans    时间: 2024-6-29 14:14

posted by wap, platform: Chrome
没有点网络基础玩不转的
作者: dreamlost    时间: 2024-6-29 14:56

posted by wap, platform: Firefox
想象成虚拟机就好了 端口就是做NAT 硬盘就相当于从你电脑里划一块硬盘挂给他
作者: meatbun    时间: 2024-6-29 15:32

引用:
原帖由 qazqaz 于 2024-6-29 13:10 发表
posted by wap, platform: Samsung
看了一下,还要映射硬盘啦,端口啦什么的,好像很麻烦。
你告诉我你具体需求是什么 我可以帮助你
作者: self不self    时间: 2024-6-29 15:43

如果是windows下,可以搞个docker desktop玩玩
我就把各种数据库和缓存放docker里,用哪个开哪个,系统里特干净
nas上装docker跑gitlab和反向代理,在外面也能同步代码
作者: lvcha    时间: 2024-6-29 15:57

posted by wap, platform: Firefox
docker是简化安装的。
你可以理解为把软件变成绿色一键部署版。
最好在linux上用,
windows得装个wsl2然后再装docker desktop,要不然性能太弱了。

比如你想在你的nas上部署个阅读app的web版
你就运行 这么条命令。
docker run -d --restart=always --name=reader -e "SPRING_PROFILES_ACTIVE=prod" -v $(PWD)/volume1/docker/reader/logs:/logs -v $(PWD)/volume1/docker/reader/storage:/storage -p 7777:8080 hectorqin/reader
然后在浏览器访问你nas就行了。
不在nas上就整个什么阿里云腾讯云什么的服务器。
我就在阿里云上弄了个,然后在单位摸鱼就能浏览器看小说了。
要是你只是本地windows,那大概率没必要用docker。
作者: lvcha    时间: 2024-6-29 16:05

posted by wap, platform: Firefox
docker本身的安装也很简单,linux基本就是一条命令
curl -fsSL get.docker.com -o get-docker.sh

windows要先弄wsl2,再装docker desktop。

其它的群晖什么的怎么配得查一下。
作者: dzgxg    时间: 2024-6-29 16:59

posted by wap, platform: iPhone
不复杂,装点需要映射的镜像试几下就大概明白了,搞错了对宿主机也没影响
作者: xsix123    时间: 2024-6-29 17:26

posted by wap, platform: Chrome
以前的国内的docker镜像仓库都下架了,有能用的吗?
作者: VEVAN    时间: 2024-6-29 17:31

docker hub都被墙了,国内镜像都干趴下了,CTNND
作者: qazqaz    时间: 2024-6-29 17:42

posted by wap, platform: Samsung
引用:
原帖由 @meatbun  于 2024-6-29 15:32 发表
你告诉我你具体需求是什么 我可以帮助你
暂时还没想到什么需求,想了解一下看看能怎么用。
作者: fmeric    时间: 2024-6-30 11:47

posted by wap, platform: iPhone
不是专门做cloud native的,随便讲讲

在linux/unix下,操作系统的核心叫做kernel,负责管理机器的各种资源,比如cpu/内存/网络/硬盘,各个应用程序通过系统调用和kernel打交道,比如应用程序问kernel,这机器上有多少内存,或者向kernel申请400m内存

然后有人(google)发明了一个东西叫cgroup,在应用程序和kernel中间加了一层(cgroup其实还在kernel里),应用程序通过系统调用问kernel,有多少内存,cgroup回答说有4g内存,然后把cpu/内存/存储/网络各种系统调用中间都加一层类似cgroup的东西,就可以把一台400g内存的机器当作100台4g内存的机器来用,成为一种轻量级的虚拟化方案。docker就是这种虚拟化方案的一个流行实现

docker化(container/cloud native)对应用程序来说,最大的好处是一切都标准化了,开发不需要考虑程序的安装/部署问题,直接打成一个image交付,在开发环境跑起来是什么样,在客户的docker里面跑起来也是一个样
所以你把一个image拖下来,就能跑,并且因为是虚拟化方案,可以做到很好的安全性,不会危害宿主机(如果你把整个硬盘都给container挂上去,那也没啥安全性了…)
在windows上用docker需要wsl,而wsl2本质上是个虚拟机

本帖最后由 fmeric 于 2024-6-30 11:50 通过手机版编辑
作者: 囧rz--    时间: 2024-6-30 12:46

posted by wap, platform: iPhone
你可以把它理解成一个沙盒,或者一个虚拟环境,不同系统这个环境能保持一致并且不会影响到你真正的系统。
这样的好处就是,所有软件安装快速、统一,不爽了直接删掉几乎没啥影响。
当然这是理论上,实际使用需要给端口映射,卷映射啥的,没啥特别的需求我不推荐你折腾
作者: meatbun    时间: 2024-6-30 13:42

posted by wap, platform: iPhone
引用:
原帖由 @qazqaz  于 2024-6-29 17:42 发表
暂时还没想到什么需求,想了解一下看看能怎么用。
通常普通人 会部署以下东西

jefflyn homassistant 本地AI等
作者: 为谁涅槃    时间: 2024-6-30 15:05

posted by wap, platform: iPhone
docker应该是伟大的发明了,其实可以理解为一个虚拟机专门安装了一个软件。但虚拟机里的系统太大了,就把用不到的地方全删掉了,只保留了用得到的地方,再加上软件本身,打包成了一个封闭的压缩包来使用。 如果有兴趣可以装个casaos或1panel试试,会用了就明白是怎么回事了…
作者: 为谁涅槃    时间: 2024-6-30 15:19

posted by wap, platform: iPhone
对了,最近刚出的那个tkdurbo帮助docker添加镜像源防屏蔽的,不要随便装,尤其是docker改过目录和自己更换过源的,tkdurbo会把你改过的daemon.json覆盖掉,就啥都打不开了……改回去有点麻烦。
作者: zxsoft    时间: 2024-7-3 09:02

posted by wap, platform: Chrome
科普性质:
一、底层
docker核心是一个没有界面的东西,一个为虚拟化而生的工具,绝大部份时候都是运行在linux上,也只能跑linux镜像。
二、概念
镜像:可以理解为操作系统快照(包括上面安装的软件、文件等),就像你的电脑,你对现在你的电脑系统非常满意,你就建一个快照(镜像)。
容器:可以理解为操作系统实例。就像你的电脑,你忽然不喜欢你现在的操作系统和软件了,你想恢复成你建的快照。你就删了你当前的操作系统(容器),并使用之前你建的快照(镜像)重新建一个操作系统(新容器)。Docker最好用的地方就是这个过程非常快速稳定。
镜像仓库:就算你自己可能都想要个镜像仓库,因为你可能想做一个用来办公很舒服的镜像,一个玩游戏很舒服的镜像,一个看pronhub很舒服的镜像。这么多镜像存哪?放本地丢了怎么办?所以就需要个镜像仓库存这些东西 。docker官方提供一个镜像仓库,全球的人都能往上推镜像。你可以从官方镜像仓库拉取别人的镜像,实现非常轻松和稳定就用上别人精心调教的操作系统环境,这就是docker很多人说好玩的地方。你也可以部署一个私有的镜像仓库,用来缓存或者存你不想公开的私有镜像等。
二、界面
TGFC上非开发人员讨论docker时,一般是讨论NAS上的docker操作界面。通过这个docker界面你可以方便的拉镜像,建容器。
三、坑
你在使用的时候可能没那么舒服,原因大约是:1.你可能不习惯linux,它不像软件一样有界面,要用界面一般是通过访问linux上的web-server,或者vnc进去。 2. 网络问题,docker连网络也一起虚拟化了,所以容器里面的端口外面不能直接访问,比如另一个帖子中说的komga这个漫画服务器,他在容器里面监听25600这个端口,但你直接创建容器而不把25600手工指定映射出来,你就无法访问。 3. 存储映射,docker删容器的时候是整个容器一起删掉,所以如果你删了容器,那么容器里面存储的一切都没有了,就发生了“丢数据”的情况。这种情况下你可以把容器中的某些目录映射到宿主机(也就是你运行docker的主机,比如你的nas)上的目录,这样删容器的时候这个目录的内容就会保留下来。 4. 不熟悉NAS上的docker前端界面的用法,这个可以搜点教程,如果你理解了上面说的所有内容,你就能很容易的了解教程里面的那些步骤是在让你干啥。
作者: 被K汉姆    时间: 2024-7-3 09:26

对于小白来说举个可能不是很正确的例子
docker就类似win上面以前流行的绿色解压版
所有需要的东西就在他那个文件夹里面
而不是像一般软件那样要写各种文件在系统文件夹里面
作者: Alloyo    时间: 2024-7-3 19:26

posted by wap, platform: iPhone
B站1小时毕业,30小时专家
作者: cloudzz    时间: 2024-7-3 22:58

posted by wap, platform: Chrome
mark
作者: breeze7086    时间: 2024-7-4 13:22

docker目前被泛指为容器应用,底层基于cgroup,namespace等Linux kernel的概念,实际上docker是容器技术最被广泛使用的一个具体实现
docker的image就是一个个的文件系统环境的“只读层”,运行时容器内部数据会在容器退出时丢弃,除非使用docker工具挂载外部目录映射到内部的具体应用数据目录
端口也是通过docker暴露出内部的监听端口

熟悉之后,可以自行编写dockerfile,基于已有的容器增加自定义的“只读层”(layer)到新的image里面去
作者: alexchang2010    时间: 2024-7-4 13:44

posted by wap, platform: Android
现在威联通如何拉取镜像啊?想部署docker,镜像都下载不了了
作者: VEVAN    时间: 2024-7-4 20:15

引用:
原帖由 alexchang2010 于 2024-7-4 13:44 发表
posted by wap, platform: Android
现在威联通如何拉取镜像啊?想部署docker,镜像都下载不了了
可以试试阿里云的容器镜像服务中的镜像加速器

https://help.aliyun.com/zh/acr/u ... ker-official-images
作者: lizitaisha    时间: 2024-7-10 01:56

虚拟机,并且是创建一份,在各个地方都能跑起来的虚拟机
作者: landice    时间: 2024-7-10 08:57

引用:
原帖由 VEVAN 于 2024-7-4 20:15 发表


可以试试阿里云的容器镜像服务中的镜像加速器

https://help.aliyun.com/zh/acr/u ... ker-official-images
这个加速镜像我之前用了一下,好像常规的镜像都能正常拉取比如nginx,frps这类,但是有些镜像就不行,比如有线电视源那个pixman,就每次都拉取失败,好像一些镜像源是被屏蔽的状态。
作者: somesun    时间: 2024-7-10 09:05

posted by wap, platform: Chrome
都出来十几年了把

现在好像有一些新东西出来了

这玩意主要是给开发人员快速复制一个运行环境用的
作者: hwj10ten    时间: 2024-7-10 09:36

posted by 论坛助手, platform: iPhone
想象成一个病毒,靠接口扒在宿主上,利用映射关系来欺骗用户调用,23333
作者: 家明    时间: 2024-7-10 12:10

posted by wap, platform: Chrome
我也是小白,看到一些github发布的开源应用也要用docker安装,也一脸懵逼
作者: richiter    时间: 2024-7-10 13:48

posted by wap, platform: Android
引用:
原帖由 @家明  于 2024-7-10 12:10 发表
我也是小白,看到一些github发布的开源应用也要用docker安装,也一脸懵逼
docker就是方便小白部署用的
作者: DeepSearchz    时间: 2024-7-10 14:56

posted by wap, platform: iPhone
docker不是部署起来都很方便的吗
作者: sakurax    时间: 2024-7-10 15:45

引用:
原帖由 alexchang2010 于 2024-7-4 13:44 发表
posted by wap, platform: Android
现在威联通如何拉取镜像啊?想部署docker,镜像都下载不了了
家庭软路由阶段就安排科学上网
解决大部分疑难杂症
包括且不限于无法更新GITHUB,无法更新部署docker镜像

[ 本帖最后由 sakurax 于 2024-7-10 15:48 编辑 ]
作者: kjjuhfv    时间: 2024-7-14 18:40

posted by wap, platform: Android
引用:
原帖由 @sakurax  于 2024-7-10 15:45 发表
家庭软路由阶段就安排科学上网
解决大部分疑难杂症
包括且不限于无法更新GITHUB,无法更新部署docker镜像
我玩ha在翰思彼岸里这段时间不断的有小白发问问为什么都安装失败巴拉巴拉的
作者: 推土机    时间: 2024-7-14 19:04

posted by wap, platform: Samsung
就是最小化虚拟机
作者: 0瞎子0    时间: 2024-7-15 07:38

posted by wap, platform: iPhone
轻量化的虚拟机,一般人没什么必要
nas上就和安装应用一样简单
作者: mino    时间: 2024-7-15 16:20

posted by wap, platform: MAC OS X
对个人和共享社区来讲docker好处就是隔离了运行环境,以往的程序发布运行所需要的软件环境很多时候会和宿主机冲突,例如java版本,环境变量,文件目录位置和读写权限等等,需要相当复杂的运行脚本来匹配不同的宿主机。
docker就相当于一个预先配置好所有软件依赖的虚拟机,使用者只要下载并开启这个虚拟机就好了。
作者: refo    时间: 2024-7-15 19:49

引用:
原帖由 0瞎子0 于 2024-7-15 07:38 发表
posted by wap, platform: iPhone
轻量化的虚拟机,一般人没什么必要
nas上就和安装应用一样简单
必要性其实是有的,简便、轻量、隔离,好处非常多

只是普通人没有必要的知识罢了




欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/) Powered by Discuz! 6.0.0