Merge pull request #88 from gtardif/minecraft_sample
Added Minecraft compose file
This commit is contained in:
commit
8e2d18f531
@ -44,6 +44,7 @@ with Spring framework and a Postgres database.
|
|||||||
- [`PHP`](https://github.com/docker/awesome-compose/tree/master/apache-php)
|
- [`PHP`](https://github.com/docker/awesome-compose/tree/master/apache-php)
|
||||||
- [`Traefik`](https://github.com/docker/awesome-compose/tree/master/traefik-golang)
|
- [`Traefik`](https://github.com/docker/awesome-compose/tree/master/traefik-golang)
|
||||||
- [`Django`](https://github.com/docker/awesome-compose/tree/master/django)
|
- [`Django`](https://github.com/docker/awesome-compose/tree/master/django)
|
||||||
|
- [`Minecraft server`](https://github.com/docker/awesome-compose/tree/master/minecraft)
|
||||||
## Basic setups for different platforms (not production ready - useful for personal use)
|
## Basic setups for different platforms (not production ready - useful for personal use)
|
||||||
- [`Gitea / PostgreSQL`](https://github.com/docker/awesome-compose/tree/master/gitea-postgres)
|
- [`Gitea / PostgreSQL`](https://github.com/docker/awesome-compose/tree/master/gitea-postgres)
|
||||||
- [`Nextcloud / PostgreSQL`](https://github.com/docker/awesome-compose/tree/master/nextcloud-postgres)
|
- [`Nextcloud / PostgreSQL`](https://github.com/docker/awesome-compose/tree/master/nextcloud-postgres)
|
||||||
|
82
minecraft/README.md
Normal file
82
minecraft/README.md
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
## Minecraft server
|
||||||
|
This example defines a basic setup for a Minecraft server. More details on the Minecraft server docker image can be found [here](https://github.com/itzg/docker-minecraft-server/blob/master/README.md).
|
||||||
|
|
||||||
|
Project structure:
|
||||||
|
```
|
||||||
|
.
|
||||||
|
├── docker-compose.yaml
|
||||||
|
└── README.md
|
||||||
|
```
|
||||||
|
|
||||||
|
[_docker-compose.yaml_](docker-compose.yaml)
|
||||||
|
```
|
||||||
|
services:
|
||||||
|
minecraft:
|
||||||
|
image: itzg/minecraft-server
|
||||||
|
ports:
|
||||||
|
- "25565:25565"
|
||||||
|
...
|
||||||
|
volumes:
|
||||||
|
- "~/minecraft_data:/data"
|
||||||
|
```
|
||||||
|
|
||||||
|
When deploying this setup, docker-compose maps the Minecraft server port 25565 to
|
||||||
|
the same port of the host as specified in the compose file. The Minecraft client application can connect to this port directly.
|
||||||
|
This example maps the Minecraft data folder holding all game storage to ~/minecraft_data on the host.
|
||||||
|
|
||||||
|
## Deploy with docker-compose
|
||||||
|
|
||||||
|
```
|
||||||
|
$ mkdir -p ~/minecraft_data
|
||||||
|
$ docker-compose up -d
|
||||||
|
WARNING: Some services (minecraft) use the 'deploy' key, which will be ignored. Compose does not support 'deploy' configuration - use `docker stack deploy` to deploy to a swarm.
|
||||||
|
Creating network "minecraft_default" with the default driver
|
||||||
|
Creating minecraft_minecraft_1 ... done
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: this is using a volume in order to store Minecraft server data, that can be recovered if you remove the container and restart it.
|
||||||
|
|
||||||
|
## Expected result
|
||||||
|
|
||||||
|
Check containers are running and the port mapping:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker ps
|
||||||
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||||
|
7f696c2fb101 itzg/minecraft-server "/start" 5 minutes ago Up 5 minutes (healthy)
|
||||||
|
```
|
||||||
|
|
||||||
|
After running `docker-compose up`, the minecraft server takes a bit of time to initialize Minecraft world. You can follow the progress:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-compose logs
|
||||||
|
...
|
||||||
|
minecraft_1 | [15:06:39] [Worker-Main-6/INFO]: Preparing spawn area: 94%
|
||||||
|
minecraft_1 | [15:06:39] [Worker-Main-7/INFO]: Preparing spawn area: 94%
|
||||||
|
minecraft_1 | [15:06:39] [Server thread/INFO]: Time elapsed: 25620 ms
|
||||||
|
minecraft_1 | [15:06:39] [Server thread/INFO]: Done (35.526s)! For help, type "help"
|
||||||
|
minecraft_1 | [15:06:39] [Server thread/INFO]: Starting remote control listener
|
||||||
|
minecraft_1 | [15:06:39] [Server thread/INFO]: Thread RCON Listener started
|
||||||
|
minecraft_1 | [15:06:39] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:25575
|
||||||
|
```
|
||||||
|
|
||||||
|
Once it is initialized, run your Minecraft application, hit "Play", then "Multiplayer" and "Add server"
|
||||||
|
![add server](screenshots/click-add-server.png)
|
||||||
|
|
||||||
|
Specify your new server IP : localhost:25565
|
||||||
|
![server configuration](screenshots/add-server-config.png)
|
||||||
|
|
||||||
|
You can then start playing
|
||||||
|
![ready to play](screenshots/ready-to-play.png)
|
||||||
|
|
||||||
|
Stop and remove the containers
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-compose down
|
||||||
|
```
|
||||||
|
|
||||||
|
To delete all data, remove all named volumes by passing the -v arguments:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-compose down -v
|
||||||
|
```
|
14
minecraft/docker-compose.yml
Normal file
14
minecraft/docker-compose.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
version: '3.7'
|
||||||
|
services:
|
||||||
|
minecraft:
|
||||||
|
image: itzg/minecraft-server
|
||||||
|
ports:
|
||||||
|
- "25565:25565"
|
||||||
|
environment:
|
||||||
|
EULA: "TRUE"
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 1.5G
|
||||||
|
volumes:
|
||||||
|
- "~/minecraft_data:/data"
|
BIN
minecraft/screenshots/add-server-config.png
Normal file
BIN
minecraft/screenshots/add-server-config.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 459 KiB |
BIN
minecraft/screenshots/click-add-server.png
Normal file
BIN
minecraft/screenshots/click-add-server.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 461 KiB |
BIN
minecraft/screenshots/ready-to-play.png
Normal file
BIN
minecraft/screenshots/ready-to-play.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 486 KiB |
Loading…
Reference in New Issue
Block a user