无法使用 docker 在 Ubuntu Snappy 上启动 Minecraft 服务器

无法使用 docker 在 Ubuntu Snappy 上启动 Minecraft 服务器

我有一个装有 Ubuntu Snappy 的 Raspberry Pi。

我已经安装了我的世界服务器

 docker pull itzg/minecraft-server

按照以下指示https://hub.docker.com/r/itzg/minecraft-server/我试着跑

docker run -d -p 25565:25565 --name mc itzg/minecraft-server

或者

   docker run -d -it -e EULA=TRUE -p 25565:25565 --name mc itzg/minecraft-server

但是我收到以下错误:

$ docker run -d -it -e EULA=TRUE -p 25565:25565 --name mc itzg/minecraft-server
FATA[0000] Error response from daemon: Conflict. The name "mc" is already in use by container a401d710b3c3. You have to delete (or rename) that container to be able to reuse that name. 

但是,docker ps报告没有实例运行

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

我确实尝试将其重命名mc2为错误所示的名称,但结果只是更多错误

核心问题是,如何正确运行minecraft-server并解决上述错误?

这是我第一次使用docker,所以请尽可能清楚地解释。

附加信息 :

$ docker ps -a
CONTAINER ID        IMAGE                          COMMAND             CREATED             STATUS              PORTS               NAMES
08b7682eb487        itzg/minecraft-server:latest   "mc:latest"         38 minutes ago                                              cranky_rosalind     
d913adca07da        itzg/minecraft-server:latest   "mc"                39 minutes ago                                              furious_yonath      
e7fba87a02e4        itzg/minecraft-server:latest   "/start"            40 minutes ago                                              mc2                 
c3f3a1af49e3        itzg/minecraft-server:latest   "mc"                49 minutes ago                                              lonely_turing       
a401d710b3c3        itzg/minecraft-server:latest   "/start"            About an hour ago                                           mc                  
456bb2e52d8d        itzg/minecraft-server:latest   "/start"            About an hour ago                                           furious_bohr        

答案1

当您运行容器时,默认情况下,它保留在您的“历史记录”中(这是“docker ps -a”)。您可以通过执行“docker rm $containerid”来删除它,也可以在运行期间传递“--rm=true”以在关闭时自动删除它。自动删除通常是“临时/一次性”容器的推荐方式。

通常,如果您不提供特定名称,系统会选择 2 个随机单词并最终自动生成一个随机名称。但是,在您的情况下,您指定了一个名称。这意味着从那时起您需要执行“docker start $name”和“docker stop $name”。 (或者您可以使用 $containerid 而不是 $name)您的另一个选择是停止并删除容器,然后您可以重新启动它(重新创建它)。

或者(不推荐),您可以每次选择一个新名称并进行设置——在您的情况下,mc3 就可以了。然后是 mc4 等,但这在这里没有意义......如果你要这样做,不妨省略“--name”

因此,首先运行它来清理所有过去运行的容器:

docker 停止 $(docker ps -a -q)

docker rm $(docker ps -a -q)

现在,您有以下选项(选择一个 - 我建议第一个):

docker run --rm=true -d -p 25565:25565 --name mc itzg/minecraft-server

每次您关闭容器时,它都会清除所有设置/信息/等,下次您将像第一次一样启动。

或者

docker run --rm=true -d -p 25565:25565 --name mc itzg/minecraft-server

然后每次后面跟着:

“docker stop mc” - 停止它和“docker start mc” - 当你想再次启动它时

这将“保留您的设置”,但是,在您的情况下,您没有安装的卷,因此没有什么可以真正保留的。最终结果将与#1 大致相同。

相关内容