Add jattach utility (#4114)

This commit is contained in:
Geoff Bourne
2026-06-17 21:26:48 -05:00
committed by GitHub
parent b67d88f713
commit d20cd2dfe1
6 changed files with 58 additions and 5 deletions
+17 -1
View File
@@ -35,4 +35,20 @@ The labels that are most interesting are:
- `org.opencontainers.image.created` : the date/time the image was built
- `org.opencontainers.image.revision` : which maps to <https://github.com/itzg/docker-minecraft-server/commit/REVISION>
- `org.opencontainers.image.version` : image tag and variant [as described in this page](../versions/java.md)
- `org.opencontainers.image.version` : image tag and variant [as described in this page](../versions/java.md)
## jattach
This image bundles the [jattach](https://github.com/jattach/jattach) utility for attaching to running Java processes. It is described as
> The utility to send commands to a JVM process via Dynamic Attach mechanism.
>
> All-in-one jmap + jstack + jcmd + jinfo functionality in a single tiny program.
When exec'ed interactively into the container, jattach can be invoked against the Minecraft server's java process by using commands similar to the following
!!! example
```shell
jattach $(pgrep java) threaddump
```
+2 -2
View File
@@ -6,7 +6,7 @@ The container can host an SSH console. It is enabled by setting `ENABLE_SSH` to
The SSH server only supports password based authentication. The password is the same as the RCON password.
!!! question
See [the RCON password](../configuration/server-properties.md/#rcon-password) section under configuration/server-properties for more information on how to set an RCON password.
See [the RCON password](../configuration/server-properties.md#rcon-password) section under configuration/server-properties for more information on how to set an RCON password.
The SSH server runs on port `2222` inside the container.
@@ -15,7 +15,7 @@ The SSH server runs on port `2222` inside the container.
!!! warning "Security Implications"
By default, publishing ports in Docker binds them to all network interfaces (`0.0.0.0`), making the SSH console accessible to any device that can reach your host machine.
Since the SSH console grants **full administrative access** to your server, it is critical to use a strong [RCON password](../configuration/server-properties.md/#rcon-password).
Since the SSH console grants **full administrative access** to your server, it is critical to use a strong [RCON password](../configuration/server-properties.md#rcon-password).
If you wish to restrict access to the local machine only, refer to the [Docker documentation](https://docs.docker.com/engine/network/port-publishing/#publishing-ports) on binding to specific IP addresses (e.g., `127.0.0.1:2222:2222`).
+2 -2
View File
@@ -26,9 +26,9 @@ When a connection is established, the last 50 (by default, configurable with `WE
!!! warning "Security Implications"
By default, publishing ports in Docker binds them to all network interfaces (`0.0.0.0`), making the WebSocket console accessible to any device that can reach your host machine.
Since the WebSocket console grants **full administrative access** to your server, it is critical to use a strong [WebSocket password](#password) or [RCON password](../configuration/server-properties.md/#rcon-password).
Since the WebSocket console grants **full administrative access** to your server, it is critical to use a strong [WebSocket password](#password) or [RCON password](../configuration/server-properties.md#rcon-password).
If you wish to restrict access to the local machine only, refer to the [Docker documentation](https://docs.docker.com/engine/network/port-publishing/#publishing-ports) on binding to specific IP addresses (e.g., `127.0.0.1:80:80`).
If you wish to restrict access to the local machine only, refer to the [Docker documentation](https://docs.docker.com/engine/network/port-publishing#publishing-ports) on binding to specific IP addresses (e.g., `127.0.0.1:80:80`).
If WebSocket access is only intended for inter-container connections, consider **NOT** forwarding the port to the host machine, and putting the containers in a shared [Docker network](https://docs.docker.com/engine/network/#user-defined-networks).