标签: Docker

  • Debian 12 导出Docker 镜像并导入到没有互联网的 Docker 主机

    在有互联网的主机上:

    1. 列出镜像:

    docker images

    输出可能如下所示:

    REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
    my-app        latest    abcdef123456   2 weeks ago     500MB
    ubuntu        20.04     fedcba987654   3 weeks ago     200MB

    2. 导出 my-app:latest 镜像:

    导出单个镜像

    docker save -o my-app.tar my-app:latest

    导出多个镜像: 如果需要导出多个镜像,可以一次性完成

    docker save -o all-images.tar image1:tag1 image2:tag2 image3:tag3

    在无互联网的主机上:

    1. 将 my-app.tar 复制到 /root 目录。

    2. 导入镜像:

    docker load -i /root/my-app.tar

    3. 验证导入:

    docker images

    应该会看到 my-app:latest 镜像出现在列表中。

  • Docker 安装 Uptime Kuma 监控工具

    Uptime Kuma 是一个开源的自托管监控工具,用于跟踪网站、服务或服务器的运行状态(即“在线时间”或“正常运行时间”)。它简单易用,功能强大,特别适合个人用户、小型团队或企业,用来确保他们的在线服务稳定运行。

    1. 先决条件

    • Docker 和 Docker Compose 已安装在你的系统中。

    2. 创建 Docker Compose 配置文件

    创建一个文件夹,用于存放 Uptime Kuma 配置文件。

    mkdir uptime-kuma
    cd uptime-kuma

    在这个文件夹中,创建一个名为 docker-compose.yml 的文件,并添加以下内容:

    services:
      uptime-kuma:
        image: louislam/uptime-kuma:1
        container_name: uptime-kuma
        volumes:
          - uptime-kuma:/app/data
        restart: always
        ports:
          - "3001:3001"
        
    volumes:
      uptime-kuma:

    3. 启动 Uptime Kuma 服务

    在 docker-compose.yml 文件所在的目录,执行以下命令来启动容器:

    docker compose up -d

    4. 访问 Uptime Kuma

    当容器启动成功后,Uptime Kuma 会在主机的端口 3001 上运行。你可以通过浏览器访问:

    http://<IP>:3001

    首次访问 Uptime Kuma 时,你会看到一个初始化界面。在这里,你需要设置管理员账号并完成基本配置。登录后,你就可以开始添加监控项并设置通知方式了。

  • Docker安装 IT 资产管理系统Snipe-IT

    Snipe-IT 是一个功能强大的开源 IT 资产管理系统,可以帮助你管理硬件、软件、许可证、配件等信息。通过 Docker 安装 Snipe-IT,不仅可以简化部署过程,还能确保环境一致性。本文将详细介绍如何通过 Docker 安装 Snipe-IT,同时也会讲解如何进行日常备份以及备份时需要注意的事项。

    安装 Snipe-IT 资产管理系统

    1. 先决条件

    在开始之前,确保你的服务器上已安装 Docker 和 Docker Compose。你可以通过以下命令检查是否已安装:

    docker --version
    docker-compose --version
    

    如果未安装,可以参考 Docker 官方文档 安装 Docker。

    2. 创建 Snipe-IT 项目目录

    首先,创建一个用于存放 Snipe-IT 配置文件和数据的项目目录,并进入该目录:

    mkdir snipeit
    cd snipeit
    

    3. 下载 Docker Compose 文件

    Snipe-IT 官方提供了一个 docker-compose.yml 文件,用于定义应用和数据库的 Docker 容器。你可以使用 curl 下载该文件:

    curl https://raw.githubusercontent.com/snipe/snipe-it/master/docker-compose.yml --output docker-compose.yml
    

    4. 下载并配置环境变量文件

    接下来,下载 .env.docker 文件并重命名为 .env,该文件包含了 Snipe-IT 配置所需的环境变量。

    curl https://raw.githubusercontent.com/snipe/snipe-it/master/.env.docker --output .env
    

    然后,根据你的实际需求编辑 .env 文件,配置数据库、邮件服务器等信息。重点需要修改以下几项:

    • 数据库设置:确保 DB_DATABASEDB_USERNAMEDB_PASSWORD 和 MYSQL_ROOT_PASSWORD 配置正确。
    • 邮件服务器:配置用于发送邮件的邮件服务器,如 MailHog 或其他 SMTP 服务。

    例如:

    DB_CONNECTION=mysql
    DB_HOST=db
    DB_PORT='3306'
    DB_DATABASE=snipeit
    DB_USERNAME=snipeit
    DB_PASSWORD=changeme1234
    MYSQL_ROOT_PASSWORD=changeme1234
    MAIL_MAILER=smtp
    MAIL_HOST=mailhog
    MAIL_PORT=1025
    

    5. 启动 Docker 容器

    配置完成后,使用以下命令启动 Docker 容器:

    docker compose up -d
    

    这会启动所有必要的容器,包括数据库容器和应用容器。如果一切顺利,Snipe-IT 应用将会在后台运行。

    6. 访问 Snipe-IT Web 界面

    默认情况下,Snipe-IT 将运行在端口 8000 上,你可以在浏览器中访问 http://localhost:8000 或使用服务器的 IP 地址(例如 http://<server_ip>:8000)来访问 Web 界面。

    首次登录时,Snipe-IT 会引导你完成初步配置,如创建管理员账号、连接数据库等。

  • Docker in use dangling 镜像删除

    首先需要找出正在使用 dangling 镜像的容器。停止并删除这些容器,最后再删除 dangling 镜像

    1. 查找正在使用 dangling 镜像的容器: 运行以下命令可以列出当前正在运行的容器列表,包括它们的容器 ID、镜像名称等信息
       docker ps
    1. 停止使用 dangling 镜像的容器: 对于正在使用 dangling 镜像的容器,使用以下命令停止它们:
       docker stop <容器ID>
    1. 删除停止的容器: 使用以下命令删除所有停止的容器:
       docker rm $(docker ps -aq)
    1. 删除 dangling 镜像: 最后,使用以下命令删除 dangling 镜像:
       docker rmi $(docker images -f dangling=true -q)