You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为Docker部署的Minecraft服务器配置图标变量遇错求助

使用itzg Minecraft Docker镜像配置服务器图标失败问题

背景

我用itzg的minecraft-server镜像搭建了Docker版MC服务器,首次部署成功且已正常游戏。现在想给服务器添加图标优化视觉效果,通过docker-compose.yml启动容器时遇到了错误。

配置情况

我的docker-compose.yml配置如下:

services:
    minecraft:
        # 指定要拉取的镜像(可加:latest)
        image: itzg/minecraft-server
        container_name: minecraft-server
        # 将数据目录挂载到本地可访问路径
        volumes:
            - ~/Documents/docker/Minecraft:/data
        ports:
            - 25565:25565
        environment:
            # 必填项
            EULA: "TRUE"
            # 推荐配置
            OPS: "duxt3r__"
            ENABLE_WHITELIST: "TRUE"
            ENFORCE_WHITELIST: "TRUE"
            MEMORY: "4G"
            # 可选配置
            VERSION: "1.20.2"
            TYPE: "BUKKIT"
            MOTD: "\u00A7lVersion \u00A76[1.20.2] \u00A70--- !SURVIVAL! --- Version \u00A7a0.2 \u00A77patch:RAM=4GB, Cosmetics\u00A7r\n(server is currently in ALPHA version)"
            MAX_PLAYERS: 10
            ICON: ~/Documents/docker/Minecraft/server-icon.png
            
        tty: true
        stdin_open: true
        # 容器失败时尝试重启3次
        restart: on-failure:3

问题

执行sudo docker-compose up -d启动服务器时,Portainer控制台输出错误:

[init] ERROR: /home/ubuntu/Documents/docker/Minecraft/server-icon.png does not appear to be a URL or existing file

已尝试操作

  • 将文件名改为"server-icon.png"并检查图片尺寸,根据镜像说明文件会自动缩放转换格式,因此排除该问题。
  • 尝试过多种路径写法:
    ~/Documents/docker/Minecraft/server-icon.png
    /home/ubuntu/Documents/docker/Minecraft/server-icon.png
    home/ubuntu/Documents/docker/Minecraft/server-icon.png
    https://home/ubuntu/Documents/docker/Minecraft/server-icon.png
    
  • 反复确认server-icon.png确实在指定路径下。

解决方案

错误原因

容器内部无法直接访问宿主机的本地路径——你配置的ICON变量填的是宿主机的路径,但容器运行时只会在自己的文件系统里查找,或者识别网络URL,所以找不到这个文件。

两种解决方法

  1. 直接放入挂载的/data目录
    把server-icon.png放到你挂载的~/Documents/docker/Minecraft目录下(对应容器内部的/data目录),然后把ICON变量的值改成server-icon.png或者/data/server-icon.png。容器会自动在/data目录下查找这个文件,甚至你如果直接把图标放到/data目录下,不设置ICON变量也能自动识别使用。

  2. 额外挂载图标目录
    如果你不想移动文件,需要在volumes里额外挂载图标所在的目录,比如:

    volumes:
        - ~/Documents/docker/Minecraft:/data
        - ~/Documents/docker/Minecraft:/icons  # 额外挂载图标目录到容器内的/icons路径
    

    然后把ICON变量设为/icons/server-icon.png,这样容器就能访问到这个文件了。

内容的提问来源于stack exchange,提问作者duxt3r__

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 14:02:46