Dockerを使用してUbuntu SnappyでMinecraftサーバーを起動できない

Dockerを使用してUbuntu SnappyでMinecraftサーバーを起動できない

Ubuntu SnappyがインストールされたRaspberry Piがあります。

Minecraftサーバーをインストールしました。

 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」を実行する必要があることを意味します。 (または$ nameの代わりに$containeridを使用できます。)他のオプションは、コンテナを停止して削除してから再起動(再作成)することです。

または(推奨されていません)、毎回新しい名前を選択して設定できます。あなたの場合、mc3はそのタスクを実行します。そしてmc4などがありますが、ここでは話しません...これを行うには、「--name」を省略することをお勧めします。

したがって、まずこれを実行して、以前に実行されていたすべてのコンテナをクリーンアップします。

ドッカーを停止 $(docker ps -a -q)

そして

ドッカー rm $(docker ps -a -q)

これで、次のオプションが提供されます(1つを選択してください。最初のオプションをお勧めします)。

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とほぼ同じです。

関連情報