Spring Boot Actuator Remote Monitoring & JMX

๐Ÿ’ก Spring Boot Actuator Remote Monitoring & JMX โ€” Executive Summary

Technical architectural analysis, practical configuration manifests, and deployment instructions for Spring Boot Actuator Remote Monitoring & JMX.

Subpage
Installation
Completion
html
sudo curl -L https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker -o /etc/bash_completion.d/docker
Exec
bash
# ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ (ํฌํŠธํฌ์›Œ๋”ฉ)
docker run -p ${hostPort}:${containerPort} {{ container image }}

# docker run -d -p 80:80 docker/getting-started

# ์ด๋ฏธ์ง€ ๋ฆฌ์ŠคํŠธ
docker images

# ์ปจํ…Œ์ด๋„ˆ ๋ฆฌ์ŠคํŠธ
docker container ls

# ํƒœ๊ทธ ํ˜น์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ
docker tag {{ localImage }} {{ newLocalImage }}

# ์ด๋ฏธ์ง€ ์‚ญ์ œ
docker rmi {{ localImage }}

# ํŒŒ์ผ๋กœ ์ด๋ฏธ์ง€ ๋กœ๋“œ
docker load -i {{ file }}

# ํ‘ธ์‰ฌ & ํ’€
docker pull {{ image }}
docker push {{ localImage }}

# ํŠน์ • ์•„ํ‚คํ…์ฒ˜๋กœ pull
docker pull --platform linux/amd64 {{ image }}

# tar ์ €์žฅ
docker save -o ${TAR_FILE} $IMAGE_TAG

# ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ
# docker stop 190caabec48b
docker stop {{ container id }}

# ์ปจํ…Œ์ด๋„ˆ ์กฐํšŒ
docker ps -a

# ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘
docker restart {{ container id }}

# build: Dockerfile ๊ฒฝ๋กœ์—์„œ
docker build -t ${registry}/${image}:${tag} .
run
bash
docker run -d -p $external_port1:$internal_port1 -p $external_port2:$internal_port2 $image
#docker run -d -p 80:8080 -p 443:443 tomcat:8.5.100-jdk8
init: required docker-desktop
bash
# ์ž๋™์ƒ์„ฑ:
### .dockerignore
### Dockerfile
### compose.yaml
### README.Docker.md
docker init
buildx
bash
# ํŠน์ • ์•„ํ‚คํ…์ฒ˜๋กœ build
docker buildx build --platform linux/amd64  -t {{ registry/image:tag }} ./{{ .DockerFile_Dir }}

# layer cache๋ฅผ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋กœ๋“œํ•˜์—ฌ build, Cache๋ฅผ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ „์†ก
docker buildx build \
  --cache-from type=registry,ref=$registry/$image \
  --cache-to type=registry,ref=$registry/$image,mode=max \
  -t $myImage .

# layer cache๋ฅผ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋กœ๋“œํ•˜์—ฌ build, Cache๋ฅผ ์ด๋ฏธ์ง€์™€ ํ•จ๊ป˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ „์†ก
docker buildx build \
  --cache-from type=registry,ref=$registry/$image \
  --cache-to type=registry,ref=$registry/$image,mode=max \
  -t $myImage .
View mount cache (buildx, builddkit)
bash
docker buildx du --verbose | awk '
  /ID:/ {id_block=$0; id=$2}
  /Created at:/ {ca=$0}
  /Size:/ {sz=$0}
  /Description:/ {
    if ($0 ~ /npm-cache|mvn-cache|node-modules/) {
      print "--------------------------------------------------"
      print id_block
      print ca
      print sz
      print $0
    }
  }'
  • Single inquiry
bash
docker buildx du --filter id=$(docker buildx du --verbose | awk '/ID:/ {id=$2} /npm-cache/ {print id}') --verboseSample
Features
Find image ID using entire image name
bash
docker ps -a --filter "name=^registry$" --quiet
docker ps -a --format "{{.ID}}" --filter "name=^registry$"
Use of gzip
bash
# ์ž‘์€์šฉ๋Ÿ‰์„ ์œ„ํ•ด gzip ํ™œ์šฉ

## save
docker save myimage:latest | gzip > myimage.tgz

## load
gunzip -c myimage.tgz | docker load
gzip -dc myimage.tgz | docker load
Build and push Multi Archi Image
bash
# buildx build๋Š” buildkit์„ ์ด์šฉํ•œ ํ™•์žฅ๋ฒ„์ „์œผ๋กœ ๋ฉ€ํ‹ฐ์•„ํ‚คํ…์ฒ˜ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณต
docker buildx build --platform linux/amd64,linux/arm64 -t <your-harbor-url>/<project>/<repository>:<tag> --push .
Check image architecture
bash
imageID=
docker image inspect $imageID | jq ".[0].Architecture"
Clean up the occupied volumes as follows
bash
overlay          50G   48G  2.1G  96% /var/lib/docker/overlay2/51b6af2e181a7fc58ca5a422e5981ad586b573a4af31fef161ac89d7769e9160/merged
shm              64M     0   64M   0% /var/lib/docker/containers/25a1e50390c9c57905143198c711f7825f07f82e73ef7f23b20975338b4ddb48/mounts/shm
overlay          50G   48G  2.1G  96% /var/lib/docker/overlay2/49d4441a7be9a9f190966da8a4f0d030c522080c472daba32dff695bdbff410c/merged
shm              64M     0   64M   0% /var/lib/docker/containers/ad65a77e421fa9acec8a2992682c96a8d339ce8af44b36822112c661604881c4/mounts/shm
overlay          50G   48G  2.1G  96% /var/lib/docker/overlay2/c0d3521b5e7e33caf2a638c82f0337e5fe3aa12857d0a51f3e36d9c1457ca812/merged
overlay          50G   48G  2.1G  96% /var/lib/docker/overlay2/9b27fc528efa51d669eca6b6cce7c347ce18aabed5b20828779153d68997b49e/merged
overlay          50G   48G  2.1G  96% /var/lib/docker/overlay2/9d75dc199db325f6b18ce17023c0ee7ac9df85c086ca91b1868fb94e7a2692e9/merged
bash
docker system prune -a --volumes -f
  • Force deletion of occupied memory
    bash
    # ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€ (์—์ด์ „ํŠธ๊ฐ€ ์—†์„ ๋•Œ ์‹คํ–‰ ๊ถŒ์žฅ)
    docker stop $(docker ps -a -q)
    
    # ๋ชจ๋“  ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์‚ญ์ œ
    docker rmi -f $(docker images -q)
    
    
    docker container prune -f
    docker volume prune -f
    docker builder prune -a -f  
    docker system prune -a --volumes -f

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *