首页 > 热门 > 竖图列表

五分钟了解Docker基础

竖图列表会员昵称: 印修关注投稿量:粉丝量:关注量:   2024-10-23 19:45:31A+A-

开始使用前,我们先了解下Docker相关的一些知识,以便于了解后面出现的一些名词;

Docker的详细介绍可以查看:Docker — 从入门到实践

.1. 什么是 Docker

Docker基于Linux内核的cgroup、namespace以及OverlayFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。

您可以简单地把Docker 容器当作一个效率很高的虚拟机,容器内部与宿主机隔离; (当然它不是真的虚拟机)

因此它需要端口映射 (用来访问容器内的网络服务)目录映射 (用来存储文件)

.1.1 什么是 镜像

Docker 镜像 是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。

镜像不包含任何动态数据,其内容在构建之后也不会被改变。

根据不同的使用场景或平台,镜像会有不同的标签,比如: latestarm-latest

mtphotos/mt-photos:latest

mtphotos/mt-photos:arm-latest

mtphotos/mt-photos:nodb-latest

.1.2 什么是 容器

容器是镜像运行时的实体,容器可以被创建、启动、停止、删除、暂停等。

容器内部存储的生存周期和容器一样,容器删除时,容器内的存储也会删除。因此,任何保存于容器内部存储的文件都会随容器删除而丢失

因此创建容器时需要使用数据卷(Volume)或者目录映射 来存储文件;

下面是一段使用docker run创建容器的命令:五分钟了解Docker基础(pic1)

提示:某些系统中(比如Windows),不支持 \ 换行,需要将 \ 删了,合并为一行输入

.1.3 什么是 目录映射

通过目录映射,可以将宿主机的目录挂载到容器内指定的目录;

这样容器内的文件,比如数据库、缩略图、备份的照片等可以存到宿主机中的目录下;

在docker run 命令中, -v /xxx/mt_photos/config:/config 就是一个目录映射;

注意:目录的路径只能是绝对路径,即 / 开头

:左侧 (/xxx/mt_photos/config)为宿主机目录路径,在创建容器前需要提前创建好

:右侧 (/config)为容器内的目录,通常不需要修改

对于MT Photos容器,只有 /config 和 /upload 是必须映射的,别的目录可以先不添加;

重要提示: 宿主机的目录,不要重复映射到容器内

重要提示: 宿主机的目录,不要重复映射到容器内

重要提示: 宿主机的目录,不要重复映射到容器内

比如下面的错误示范

错误示范1:

-v /mnt/docker/mt_photos/config:/config -v /mnt/photos/mt_photos:/upload -v /mnt/photos/mt_photos:/photos

存在的问题: /mnt/photos/mt_photos 文件夹下的文件,在容器内都会被识别为2个文件

比如 /mnt/photos/mt_photos/1.jpg 在容器内会识别为2个文件 /upload/1.jpg 和 /photos/1.jpg

/upload不和别的目录共用

/upload目录下会自动创建 .MT_UPLOAD_FOLDER 文件,用来表示这个备份用的目录;

当另外的目录下有.MT_UPLOAD_FOLDER文件时,扫描图库会跳过这个目录,比如上方的/photos目录;

错误示范2:

-v /mnt/docker/mt_photos/config:/config -v /mnt/photos/mt_photos:/upload -v /mnt/photos:/photos

存在的问题: /mnt/photos/mt_photos 文件夹下的文件,在容器内都会被识别为2个文件

比如 /mnt/photos/mt_photos/1.jpg 在容器内会识别为2个文件 /upload/1.jpg 和 /photos/upload/1.jpg

正确示范:

-v /mnt/docker/mt_photos/config:/config -v /mnt/mt_photos:/upload -v /mnt/photos/:/photos

.1.4 什么是 端口映射

由于容器内部的网络和外部是隔离的,当外部需要访问容器内的服务时,就需要添加端口映射;

在docker run 命令中, -p 8163:8063 就是一个端口映射;

:左侧 8163为宿主机端口号,是外部用来访问的端口,比如 http://192.168.1.8:8163

:右侧 8063为容器内的端口号,通常不能修改,因为容器内服务绑定端口是固定的

这里的8163只是为了举例,实际使用中,一般2边会使用一样的端口号 -p 8063:8063

如果遇到宿主机的8063端口已经被占用了,那么就需要调整宿主机端口号

但是容器内的端口号不能修改,因为容器内服务只会使用默认固定的端口号;

.1.5 什么是 环境变量

环境变量是容器内程序运行时,会读取的某些配置项;通过环境变量可以自定义容器内的某些功能;

在docker run 命令中, -e TZ="Asia/Shanghai" 就是一个环境变量;

TZ 就是环境变量的名称,TZ用来指定时区

"Asia/Shanghai" 就是环境变量的值,也就是时区的值

.2. yaml模板

version: "3" services:   mtphotos:     image: mtphotos/mt-photos:latest     container_name: mt-photos     restart: always     ports:       - 8063:8063     volumes:       - /mnt/docker/mt_photos/config:/config       - /mnt/mt_photos:/upload       - /mnt/photos:/photos     environment:       - TZ=Asia/Shanghai

yaml语法三大规则

.2.0.1 规则一:缩进

yaml使用一个固定的缩进风格表示数据层结构关系,需要每个缩进级别由两个空格组成,一定不能使用tab键

.2.0.2 规则二:冒号
services: image: mtphotos/mt-photos:latest

每个冒号后面一定要有一个空格(以冒号结尾不需要空格)

.2.0.3 规则三:短横线

想要表示列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一个列表的一部分

environment:   - TZ=Asia/Shanghai   -.UTF-8   - PUID=1000   - PGID=100

1. 安装

如果您的NAS系统在以下列表中,可以点击下方链接查看单独的安装方法

  • Unraid
  • TrueNAS Scale
  • DSM(群晖)
  • 飞牛私有云
  • QNAP(威联通)
  • CasaOS

Windows版本服务端的安装方法请查看: Windows服务端的安装方法

使用Portainer安装的方法请查看: Portainer使用方法


提示:在享受本文内容的同时,请注意版权归属 徐州鑫坤机电设备有限公司https://www.xzxkjd.com如果您觉得有价值欢迎分享但请务必注明出处,感谢您的理解,谢谢

以下部分内容需要登录查看 立即登录

点击这里复制本文地址 以上内容由用户上传和网络在徐州鑫坤机电设备有限公司整理呈现,如有侵权请联系站长:xzxkjd@qq.com !

1. 本网站可能包含第三方链接,请注意甄别,我们不对其内容负责。

2. 请遵守网络法律法规,在浏览网站时,不传播违法、不良信息,共同维护网络健康。否则后果自负!

3. 本网站内容受版权保护,未经许可,严禁转载!

4. 长时间浏览网站请注意适时休息,保护眼睛,保持身心健康。

5. 在浏览网站过程中,如有任何疑问或需要帮助,请随时联系我们的客服团队。

6. 如有好的内容可投稿申请发布我们收到会第一时间审核发布。

7. 请注意系统即将进行维护可能会影响部分功能的正常使用请提前规划好您的浏览时间,感谢您的理解,享受每一次在线体验

相关内容

加载中~

Copyright ©2012-2024徐州鑫坤机电设备有限公司版权所有
苏ICP备2023032739号-1ICP备2023032739号-2苏ICP备2023032739号-3X
苏公网安备 32038202000884号增值电信业务经营许可证:合字B1-20235517
开发中| 关键词| 网站地图| 网站地图| 网站地图| TAG集合

今日IP人数0今日浏览量(PV)0昨日IP人数0昨日浏览量(PV)07天IP人数07天浏览量(PV)0

网站已运行:

在线客服
服务热线

服务热线

0516-86596070

联系邮箱

服务热线

xzxkjd.@qq.com

微信咨询
我的网站名称
我的网站名称
交流群
返回顶部
X我的网站名称

截屏,微信识别二维码

微信号:xkyinxiu

(点击微信号复制,添加好友)

  打开微信

微信号已复制,请打开微信添加咨询详情!