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"을 수행해야 함을 의미합니다. (또는 $name 대신 $containerid를 사용할 수 있습니다.) 다른 옵션은 컨테이너를 중지하고 삭제한 다음 다시 시작(다시 생성)하는 것입니다.

또는(권장되지 않음) 매번 새 이름을 선택하고 설정할 수 있습니다. 귀하의 경우에는 mc3가 해당 작업을 수행합니다. 그리고 mc4 등이 있는데 여기서는 말이 안 됩니다... 이렇게 하려면 "--name"을 생략하는 것이 좋습니다.

따라서 먼저 이를 실행하여 이전에 실행 중인 모든 컨테이너를 정리합니다.

도커 중지 $(docker ps -a -q)

그리고

도커 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과 거의 동일합니다.

관련 정보