본문 바로가기
Minecraft

[Docker] forge 서버 구성

by holy season 2023. 10. 4.
반응형

갑자기 마인크래프트?

Docker에 관해 공부를 하다 예전에 즐겨하던 게임인 마인크래프트를 Docker를 이용해서 서버를 운영하고 싶다는 생각이 들었다.

기존에 마인크래프트 서버 운영을 했을 때 기본적인 마인크래프트 서버를 사용하여 구동을 하였지만 이번에는 모드를 적용할 수 있는 서버를 구동하고 싶어 Forge라는 서버와 Docker를 이용해 구동해 보기로 하였다.

Dockerfile 구성

Dockerfile의 기본이미지로 요즘 많이 사용하는 ubuntu를 선택하였다.

저장소 업데이트, 문서를 편집할 수 있게 하는 vim, java, 다운로드를 가능하게 하는 wget을 설치하도록 구성하였고 /home/server폴더를 생성하고 기본 디렉토리로 설정하였다.

forge 서버를 다운로드하고 java를 사용하여 서버를 설치하였다.

그리고 컨테이너가 생성될 때마다 run.sh 스크립트를 실행하도록 구성하였다.

from ubuntu

RUN apt-get update
RUN apt-get install vim -y
RUN apt-get install openjdk-17-jdk -y
RUN apt-get install wget -y

RUN mkdir /home/server
WORKDIR /home/server
RUN wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.20.2-48.0.13/forge-1.20.2-48.0.13-installer.jar
RUN java -jar forge-1.20.2-48.0.13-installer.jar --installServer

ENTRYPOINT ["./run.sh"]

docker-compose.yaml 파일 구성

docker-compose.yaml 파일은 구성한 Dockerfile을 빌드하고 호스트의 port 25565와 컨테이너의 포트 25565로 연결하였다. 그리고 docker volume을 이용해 Dockerfile의 정의해 두었던 /home/server와 볼륨 바인드를 하도록 하였다.

version : "3"

services:
  server:
    container_name: "minecraft"
    build:
      context: .
    ports:
      - "25565:25565"
    restart: unless-stopped
    volumes:
      - server:/home/server
volumes:
  server:

결과

서버 구동이 잘되었고 localhost:25565번으로 접속한 결과 마인크래프트도 잘 접속할 수 있었다.

참고사이트

https://files.minecraftforge.net/net/minecraftforge/forge/

 

Minecraft Forge downloads

Downloads for Minecraft Forge for Minecraft 1.20.1 Recommended: 47.2.0 Latest: 47.2.1

files.minecraftforge.net

 

반응형