当前位置:论坛首页 > Linux面板 > Linux面板教程

【Docker 模块】使用手册

发表在 Linux面板2022-7-7 16:05 [复制链接] 10 21989

什么是 Docker?
       Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分离,以便您可以快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 快速交付、测试和部署代码的方法,您可以显着减少编写代码和在生产环境中运行之间的延迟。

什么是 Dockerfile?
       Docker 可以通过读取 Dockerfile 中的指令自动构建镜像,Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

什么是Docker Compose?
       Docker Compose 是一种用于帮助定义和共享多容器应用程序的工具。使用 Compose,我们可以创建一个 YAML 文件来定义服务,并且使用一个命令或操作,可以启动所有内容或将其全部关闭。

安装:
测试版本的面板:在左侧菜单 "Docker" 界面安装
正式版本的面板:需要先在"面板设置"中的 面板菜单栏隐藏 将 "Docker" 打开,按F5刷新界面,在左侧菜单 "Docker" 界面安装
安装后界面如下:点击图片可看大图

安装完成docker界面.png

安装完成docker界面.png


产品功能列表与详解:
      一、镜像
          Docker 镜像是容器的基础。镜像没有状态,它永远不会改变。
      二、容器
          容器是Docker 镜像的运行实例。
      三、Compose
          Compose是一个使用 Docker 定义和运行复杂应用程序的工具。
      四、Compose模板
          Compose模板 定义构成Compose 项目的yaml文件。
      五、网络
          容器网络是由 Docker 为容器创造的虚拟环境的一部分,能让容器从宿主机的网络环境中独立出来。
      六、存储卷
          存储卷是一个或多个容器中的一个特别指定的目录,存储卷旨在数据持久化,独立于容器的生命周期。因此删除容器时,Docker 永远不会自动删除卷。
      七、仓库
          仓库是用来存放Docker镜像。
      八、设置
          Docker 服务的状态。

一、镜像
镜像界面预览:点击图片可看大图

镜像界面拉取镜像完成1.png

镜像界面拉取镜像完成1.png


  • 从仓库拉取:从Docker官方库、第三方库拉取镜像
    例:
    从docker官方仓库拉取镜像:mysql:5.7
    mysql:5.7 解释; mysql是镜像的名称,5.7是标签,采用英文“:”分隔
    从第三方仓库拉取镜像:registry.cn-shenzhen.aliyuncs.com/star7th/showdoc
    解释:第三方仓库/用户/镜像的名称,没有标签默认为:latest
    仓库拉取镜像.png
  • 导入镜像:从本服务器导入镜像
    导入镜像.png
  • 构建镜像:通过Dockerfile文件构建镜像
    查看构建镜像例子:点我直达 Dockerfile 构建镜像例子
    构建镜像.png
  • 推送:将镜像推送到指定的仓库
    注意:需要先设置你自己仓库,才能进行推送
    标签填写格式:镜像名:标签,镜像名要与仓库名相同才能正常推送。如图:
    镜像推送.png
  • 导出:导出镜像到本服务器
    导出镜像.png
  • 删除:删除镜像,删除镜像后无法恢复请注意相关的备份
  • ID:镜像的sha256指纹信息,也是镜像的ID
  • 镜像名:镜像的名称和标签,Docker镜像唯一的标识,如果”构建/导入镜像”有相同”镜像名称:标签”将会覆盖旧的镜像
  • 大小:镜像的大小
  • 创建时间:镜像创建的时间

二、容器
容器界面预览:点击图片可看大图
容器界面.png

  • 添加容器:通过镜像创建容器、通过Compose模板创建容器编排
    例:我们以“mysql:5.7”镜像为例创建容器
    在命令行中一般这样创建容器:
    1. docker run -d --name mysql_test -p 3361:3306 -v /docker/mysql_data/:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD=my-passwd mysql:5.7
    复制代码
    命令解释:
    run:使用mysql:5.7镜像创建容器
    -d:容器后台运行
    --name:设置容器名为:mysql_test
    -p 3361:3306:映射宿主机3361端口到容器3306端口
    -v /docker/mysql_data/:/var/lib/mysql/:映射宿主机/docker/mysql_data/ 目录到容器/var/lib/mysql/ 目录,用于数据的持久化(宿主机目录如果不存在会自动创建)
    -e:MYSQL_ROOT_PASSWORD=my-passwd:指定环境变量,并设置MySQL root用户密码为 my-passwd,在mysql镜像中如果不指定这条环境变量将无法运行容器
    在面板中可以这样创建容器:

    添加容器mysql_test.png

    添加容器mysql_test.png

    界面解释:
    容器:对应 --name,填写容器名称
    镜像:选择mysql:5.7 创建容器
    暴露端口:对应 -p 3361:3306 ,注意:填写完成后要点+号图标,才会生效
    启动命令:可留空
    容器停止后自动删除容器:勾上后容器停止将自动删除这个容器,请注意数据的备份删除后无法恢复
    限制CPU、内存:限制容器使用的资源
    挂载卷:对应 -v /docker/mysql_data/:/var/lib/mysql/ ,也可以在 “存储卷界面” 添加并且选择存储卷名做数据的持久化,注意:填写完成后要点+号图标,才会生效
    标签:用于标识容器的用处,可留空
    环境变量:对应 -e MYSQL_ROOT_PASSWORD=my-passwd
    重启规则:
            不重启:重启服务器/重启Docker服务不会启动容器
            关闭时重启:重启服务器/重启Docker服务自动启动容器
            错误时重启(默认5次):容器出错时将重启,超过5次后不再重启,请查看容器日志进行排查错误
    面板默认已经使用 run -d 后台运行
    公共镜像的容器如何使用,请查看其官方的资料
  • 实时监控:实时监控容器的 CPU、内存、硬盘IO、网络IO 资源的使用

    容器实时监控.png

    容器实时监控.png
  • 终端:终端模式进入容器
    注意:需要容器是启动状态才能进入容器,否则将退出到宿主机

    容器的终端.png

    容器的终端.png
  • 目录:通过文件管理器进入容器目录

    容器目录.png

    容器目录.png
  • 日志:查看容器的运行日志

    容器日志.png

    容器日志.png
  • 删除:删除容器,删除容器后数据无法恢复请注意数据的备份,如果容器有做数据持久化,存储卷是不会被删除
  • 容器名:可以点击进去使用“容器配置”,“生成镜像”功能
    (1) 容器配置:点击“容器名”查看容器配置,可点击“…”可以查看更多配置

    容器配置.png

    容器配置.png

    (2) 生成镜像:将当前容器生成镜像、生成镜像后导出压缩包

    生成镜像.png

    生成镜像.png
  • 状态:可以选择 启动、停止、暂停、取消暂停、重启、重载容器
  • 镜像:容器使用的镜像
  • IP:容器的IP地址
  • CPU使用率:容器的CPU使用率
  • 端口 (主机-->容器):宿主机映射到容器的端口,左边为宿主机
  • 启动时间:第一次启动容器的时间
  • 批量操作:选择1个及以上对容器进行批量操作:启动、停止、暂停、取消暂停、重启、重载、删除容器

三、Compose
Compose界面预览:点击图片可看大图

Compose界面.png

Compose界面.png


  • 添加Compose项目:从Compose模板中建立容器
    查看Docker Compose例子:点我直达 Docker Compose例子

    添加Compose项目.png

    添加Compose项目.png
  • 容器列表:
    (1) Compose操作:可选择 启动、停止、暂停、取消暂停、重启整个Compose项目
    (2) 状态:可以选择 启动、停止、暂停、取消暂停、重启、重载容器
    (3) 终端:终端模式进入容器
    (4) 目录:通过文件管理器进入容器目录
    (5) 日志:查看容器的运行日志
    (6) 删除:删除单个容器,删除后数据无法恢复请注意数据的备份,如果容器有做数据持久化,存储卷是不会被删除

    容器列表.png

    容器列表.png
  • 删除:删除整个Compose项目的容器,将删除项目内所有的容器,删除后数据无法恢复请注意数据的备份,如果容器有做数据持久化,存储卷是不会被删除
  • Compose项目名称:项目名称
  • 容器数量:项目内的容器数量
  • 启动时间:第一次启动容器的时间
  • 描述:用于描述此项目的用处
  • 批量操作:选择1个及以上对项目进行批量操作:删除Comose项目

四、Compose模板
Compose模板界面预览:点击图片可看大图

Compose模板界面.png

Compose模板界面.png


  • 添加:添加Compose模板、搜索本地模板

    添加Compose模板1.png

    添加Compose模板1.png
  • 编辑:编辑Compose模板

    编辑Compose模板.png

    编辑Compose模板.png
  • 拉取镜像:根据Compose模板的配置拉取镜像

    拉取镜像.png

    拉取镜像.png
  • 删除:删除Compose模板,删除后无法恢复请注意模板内容的备份
  • 模板名:模板的名称
  • 路径:模板的存储路径
  • 描述:用于描述此模板的用处
  • 批量操作:选择1个及以上对模板进行批量操作:删除Compose模板

五、网络
网络界面预览:点击图片可看大图

网络界面.png

网络界面.png


  • 添加网络:添加新的网络到Docker
  • 删除:删除容器网络
  • 网络名:网络的名称
  • 显示:网络驱动类型
    (1) none:none模式不使用网络
    (2) host:host模式直接使用宿主机的网络
    (3) bridge:bridge模式与宿主机桥接,容器默认使用的网络
  • 网络号:容器网络的IP范围
  • 网关:容器网络子网的网关IP地址
  • 标签:用于标识容器网络的用处
  • 创建时间:创建容器网络的时间
  • 批量操作:选择1个及以上对网络进行批量操作:删除网络

六、存储卷
存储卷界面预览:点击图片可看大图

存储卷界面.png

存储卷界面.png


  • 添加存储卷:添加新的存储卷
    可先添加存储卷,再到 添加容器界面 选择存储卷

    添加存储卷.png

    添加存储卷.png
  • 删除:删除存储卷,删除存储卷后数据无法恢复请注意数据的备份
  • 存储卷:容器数据持久化的存储卷名称
  • 挂载点:存储在宿主机的路径
  • 所属容器:目前那个容器在使用这个存储卷
  • 设备:存储卷所存储的设备
  • 创建时间:创建存储卷的时间
  • 标签:用于标识存储卷的用处
  • 批量操作:选择1个及以上对存储卷进行批量操作:删除存储卷,删除存储卷后数据无法恢复请注意数据的备份

七、仓库
仓库界面预览:点击图片可看大图

仓库.png

仓库.png


  • 添加仓库:添加docker官方库、第三方仓库
    docker官方库添加如下:

    添加仓库.png

    添加仓库.png

    添加仓库可参考:https://www.bt.cn/bbs/thread-80965-1-1.html
  • 编辑:编辑仓库
  • 删除:删除仓库
  • URL:镜像仓库链接
  • 用户:登录仓库用户
  • 仓库名:仓库名称/镜像名称
  • 描述:用于标识仓库的用处
  • 批量操作:选择1个及以上对仓库进行批量操作:删除仓库

八、设置
设置界面预览:点击图片可看大图

设置.png

设置.png


  • Docker服务:当前Docker服务状态,可开启、重启、停止。启动Docker服务后,容器是否启动根据重启规则来启动
  • 容器监控:开启、关闭。关闭后CPU使用率将不再监控
  • 监控天数:设置容器页面监控保存天数。默认为30天
  • 加速URL:设置加速URL,设置加速后需要手动重启Docker。Docker默认仓库在国内下载较慢,建议使用加速URL
    常用的国内镜像仓库:
    科大:
    1. https://docker.mirrors.ustc.edu.cn/
    复制代码
    网易:
    1. https://hub-mirror.c.163.com/
    复制代码
    阿里云: (需要注册登录获取专属镜像加速器地址) https://cr.console.aliyun.com/

【Docker 模块】使用手册---2022/7/5 第一版
本使用手册编写时使用的环境:
操作系统:CentOS7.9.2009 x86_64,内核3.10.0
面板版本:7.9.2(当前最新正式版)
面板Python环境:3.7.9

您在使用过程中有遇到问题或者有好的建议,请开新帖或者本帖下留言
使用道具 举报 只看该作者 回复
发表于 2022-7-7 16:08:29 | 显示全部楼层
武功.png
使用道具 举报 回复 支持 反对
发表于 2022-7-8 11:33:11 | 显示全部楼层
文档出来得非常及时,不过不知道这个功能收不收费
使用道具 举报 回复 支持 反对
发表于 2022-7-9 22:11:57 | 显示全部楼层
windows版不支持docker吗?已经更新到最新,但是面板设置和左侧菜单栏都没有看到docker相关内容
使用道具 举报 回复 支持 反对
发表于 2022-9-20 11:42:22 | 显示全部楼层
上传图片:

上传图片

上传图片

使用道具 举报 回复 支持 反对
发表于 2022-9-20 11:56:32 | 显示全部楼层
发送私信.gif

发送私信.gif

发送私信.gif

使用道具 举报 回复 支持 反对
发表于 2023-4-24 05:04:24 | 显示全部楼层
创建容器不能API吗   API显示404
使用道具 举报 回复 支持 反对
发表于 2023-6-23 00:37:53 | 显示全部楼层
优秀 正在学习中
使用道具 举报 回复 支持 反对
发表于 2023-7-10 09:25:00 | 显示全部楼层
目前碰到一个问题 宝塔安装docker 后 clash 一直端口9090 显示跨域不能使用了
使用道具 举报 回复 支持 反对
发表于 2024-3-11 15:50:55 | 显示全部楼层
请问我根据项目模板创建完项目,此时容器列表中有5个容器(A、B、C、D、E),这时我更新了项目模板的yaml文件中的A模块配置,那么我该如何操作,让他仅重新编译A模块并重启。
使用道具 举报 回复 支持 反对
发表于 2024-4-10 14:00:29 | 显示全部楼层

希望docker 镜像访问宿主主机mysql
试过--net=host和--add-host=host.docker.internal:host-gateway
都不能让镜像访问宿主主机的数据库,
我怀疑是我宝塔的Docker管理器配置有点问题
我是把下面这段代码填到这个启动命令中的,不知道是什么原因,大佬不吝赐教

--add-host=host.docker.internal:host-gateway
--spring.datasource.url=jdbc:mysql://host.docker.internal:3306/note?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2B8
--spring.datasource.username=root
--spring.datasource.password=111
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理
快速回复 返回顶部 返回列表