diff --git a/docker/Dockerfile.nginx b/docker/Dockerfile.nginx
index 5950fc1..e482146 100644
--- a/docker/Dockerfile.nginx
+++ b/docker/Dockerfile.nginx
@@ -1,4 +1,4 @@
-FROM nginx:mainline AS builder
+FROM nginx:mainline@sha256:0a399eb16751829e1af26fea27b20c3ec28d7ab1fb72182879dcae1cca21206a AS builder
 
 # Install necessary build tools
 RUN apt-get update && apt-get install -y wget build-essential libpcre3-dev zlib1g-dev libssl-dev
@@ -16,7 +16,7 @@ RUN cd nginx-$NGINX_VERSION && \
     ./configure --with-compat --add-dynamic-module=../nginx-module-vts-0.2.2 && \
     make modules
 
-FROM nginx:mainline
+FROM nginx:mainline@sha256:0a399eb16751829e1af26fea27b20c3ec28d7ab1fb72182879dcae1cca21206a
 
 # Copy the compiled module
 COPY --from=builder /nginx-$NGINX_VERSION/objs/ngx_http_vhost_traffic_status_module.so /usr/lib/nginx/modules/
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index dbe9462..8241ca6 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -33,7 +33,7 @@ services:
   nginx-exporter:
     <<: *base
     container_name: nginx-exporter
-    image: nginx/nginx-prometheus-exporter
+    image: nginx/nginx-prometheus-exporter@sha256:a146e4e56cedf2bd4858ce0d04cf4da0b7ce1c88b7973f9221934c8651fa3e1c
     command:
       - -nginx.scrape-uri=http://nginx/metrics
     ports:
@@ -44,7 +44,7 @@ services:
   prometheus:
     <<: *base
     container_name: prometheus
-    image: prom/prometheus
+    image: prom/prometheus@sha256:6559acbd5d770b15bb3c954629ce190ac3cbbdb2b7f1c30f0385c4e05104e218
     ports:
       - "9090:9090"
     volumes:
@@ -55,7 +55,7 @@ services:
   grafana:
     <<: *base
     container_name: grafana
-    image: grafana/grafana
+    image: grafana/grafana@sha256:d8ea37798ccc41061a62ab080f2676dda6bf7815558499f901bdb0f533a456fb
     ports:
       - "3000:3000"
     volumes: