nimmis/spigot
docker logs -f spigot *** open logfile *** Run files in /etc/my_runonce/ *** Running /etc/my_runonce/00_dump_info.sh... Build of nimmis/spigot:latest, date: 2021-12-06T12:54:26Z Build of nimmis/ubuntu:20.04, date: 2021-07-04T09:06:36Z *** Running /etc/my_runonce/50_set_timezone... timezone not set, trying to autodetect external ip is 95.192.***.*** timezone should be Europe/Stockholm setting timezone to Europe/Stockholm *** Running /etc/my_runonce/90_autorestart... *** Run files in /etc/my_runalways/ *** Running /etc/my_runalways/00_minecraft_owner... missmatch between directory owner and minecraft user Changed owner of minecraft to UID 0 *** Running /etc/my_runalways/10_set_mc_version... *** Running /etc/my_runalways/50_do_build_spigot... checking 1.18 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 135k 100 135k 0 0 436k 0 --:--:-- --:--:-- --:--:-- 434k Setting version to 1.18 set java version to 17 Building spigot version (1.18) jar file, be patient
Once the compilation completes the server will start and you will see something like
Success! Everything completed successfully. Copying final .jar files now. Copying spigot-1.18-R0.1-SNAPSHOT-bootstrap.jar to /build-mc/./spigot-1.18.jar Saved as ./spigot-1.18.jar Successfull build of spigot version 1.18 Setting 1.18 as current spigot version *** Running /etc/my_runalways/85_fix_startsh... start.sh missing, creating link for /minecraft/start.sh *** Running /etc/my_runalways/90_eula... *** Booting supervisor daemon... *** Supervisor started as PID 781 *** Started processes via Supervisor...... crond RUNNING pid 783, uptime 0:00:04 spigot RUNNING pid 784, uptime 0:00:04 syslog-ng RUNNING pid 785, uptime 0:00:03
you can then exit from the log with CTRL-C
You can now change the minecraft version after you started the container the first time.
If you don't specify this parameter it will check the minecraft directory in the container to see if there is a previous compiled version linked. If so the container will use that version.
If no version of spigot is linked (like first time) it will always compile the latest version but if you want a specific version you can specify it by adding
-e SPIGOT_VER=<version>
where
-e SPIGOT_VER=1.18
to the docker run line.
There is a command to change minecraft version in a running container
docker exec -it spigot set_mc_ver <version>
when the command is executed it will check if there is a compiled version already in the minecraft folder, if not it will build it.
It first stops the running minecraft, changes java version if needed (download if missing), compiles a new spigot if needed and then starts minecraft again.
It is not recommended to downgrade version as the world-information is not backwards compatible.
Please check the web page for BuildTools to get the latest information.
There are two environment variables to set maximum and initial memory for spigot.
Sets the maximum memory to use
-e MC_MAXMEM=2g
Sets the initial memory reservation used, use
-e MC_MINMEM=512m
This variable controls the behavior of the container when the stop command is issued inside minecraft
-e SPIGOT_AUTORESTART=yes
Which is the default behavior and does not need to be specified, the minecraft server will autostart if the stop command is issued.
-e SPIGOT_AUTORESTART=no
If the stop command is issued the minecraft server will stay down until the container is restarted or the command mc_start is issued
Allows adding other Java options when starting minecraft
-e OTHER_JAVA_OPS=
To get an output of the latest events from the spigot server type
docker exec spigot mc_log
and you will see the last 10 lines from the output, this is what you will see after startup
Abort with CTRL-C [13:02:15 INFO]: Zombie Aggressive Towards Villager: true [13:02:15 INFO]: Experience Merge Radius: 3.0 [13:02:15 INFO]: Preparing start region for level 0 (Seed: 506255305130990210) [13:02:16 INFO]: Preparing spawn area: 22% [13:02:17 INFO]: Preparing spawn area: 99% [13:02:17 INFO]: Preparing start region for level 1 (Seed: 506255305130990210) [13:02:18 INFO]: Preparing spawn area: 95% [13:02:18 INFO]: Preparing start region for level 2 (Seed: 506255305130990210) [13:02:18 INFO]: Server permissions file permissions.yml is empty, ignoring it [13:02:18 INFO]: Done (3.650s)! For help, type "help" or "?"
It will continue to output everything from the console until you press CTRL-C
You don't need to have an interactive container to be able to send commands to the console. To send a command to set the time to day you type
docker exec spigot mc_send "time set day"
If this was the first command issued after a start the output should look like
[13:02:15 INFO]: Zombie Aggressive Towards Villager: true [13:02:15 INFO]: Experience Merge Radius: 3.0 [13:02:15 INFO]: Preparing start region for level 0 (Seed: 506255305130990210) [13:02:16 INFO]: Preparing spawn area: 22% [13:02:17 INFO]: Preparing spawn area: 99% [13:02:17 INFO]: Preparing start region for level 1 (Seed: 506255305130990210) [13:02:18 INFO]: Preparing spawn area: 95% [13:02:18 INFO]: Preparing start region for level 2 (Seed: 506255305130990210) [13:02:18 INFO]: Server permissions file permissions.yml is empty, ignoring it [13:02:18 INFO]: Done (3.650s)! For help, type "help" or "?" [13:12:35 INFO]: Set the time to 1000
It will continue to output everything from the console until you press CTRL-C
To make yourself operator in the game use mc_send command, for example give the user myuser op use the command.
docker exec spigot mc_send op myuser
By default the minecraft server will automatically restart on a stop inside the minecraft application. You can override this behavior by using
-e SPIGOT_AUTORESTART=no
This will prevent the server automatically restarting and minecraft has to be started again with the mc_start command
To stop the server but not the container do
docker exec spigot mc_stop
To start it after being stopped do
docker exec spigot mc_start
Finally to restart it do
docker exec spigot mc_restart
When the container is stopped with the command
docker stop spigot
the spigot server is shutdown nicely with a console stop command to give it time to save everything before stopping the container. If you look in the output from the server you will see something like
[13:01:51 INFO]: Stopping the server [13:01:51 INFO]: Stopping server [13:01:51 INFO]: Saving players [13:01:51 INFO]: nimmis lost connection: Server closed [13:01:51 INFO]: nimmis left the game. [13:01:51 INFO]: Saving worlds [13:01:51 INFO]: Saving chunks for level 'world'/Overworld [13:01:51 INFO]: Saving chunks for level 'world_nether'/Nether [13:01:51 INFO]: Saving chunks for level 'world_the_end'/The End
If you delete the container all your files in minecraft will be gone. To save them where it's easier to edit and do a backup of the files you can attach a directory from the host machine (where you run the docker command) and attach it to the local file system in the container. The syntax for it is
-v /host/path/to/dir:/container/path/to/dir
To attach the minecraft directory in the container to directory /home/nimmis/mc-srv you add
-v /home/nimmis/mc-srv:/minecraft
When a external volume is mounted the UID of the owner of the volume may not match the UID of the minecraft user (1000). This can result in problems with write/read access to the files.
To address this problem a check is done between UID of the owner of /minecraft and the UID of the user minecraft. If there is a mismatch the UID of the minecraft user is changed to match the UID of the directory.
If you don't want to do this and want to manually set the UID of the minecraft user there is a variable named SPIGOT_UID which defines the minecraft user UID, adding
-e SPIGOT_UID=1132
sets the minecraft user UID to 1132.
The syntax is
docker exec -ti <spigot container name> <command> <paramaters>
If you get minecraft version not found and it is a version released after to started the container the first time. You need to update the list of available versions, do
docker exec -it <spigotverson> get_mc_versions
and you should get an output simular to
docker exec -it spigot get_mc_versions % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 135k 100 135k 0 0 498k 0 --:--:-- --:--:-- --:--:-- 498k
and the versionlist is updated.
If you have any problems with or questions about this image, please contact us by submitting a ticket through a GitHub issue
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务