Docker push failing with /var/lib/docker/overlay2/<id>/merged/run/sisidsdaemon.pid: no such file or directory

238 views Asked by At

When i try to push the image to artifactory, seeing below error. The docker build was successfull.

The push refers to repository [jfrogartifactory.com/jenkins/k8stools]
bd862c2c6862: Pushed
fa9470006406: Pushing [==================================================>]  51.33MB/51.33MB
3416052442ea: Pushed
097ffe707280: Pushed
66902afc5923: Layer already exists
56c2913a98f0: Layer already exists
234119318760: Layer already exists
34f7184834b2: Layer already exists
5836ece05bfd: Layer already exists
72e830a4dff5: Layer already exists
open /var/lib/docker/overlay2/jxl9gqgs0xj61kftk9b4casbo/merged/run/sisidsdaemon.pid: no such file or directory

The corresponding Dockerfile is:

FROM alpine:latest
USER root
ARG ARCH=amd64

RUN apk update && apk upgrade --no-cache && \
    apk --no-cache add curl wget git jq yq
ARG HELM_VERSION=3.13.0
ARG KUBECTL_VERSION=1.27.0
ARG KUBESEAL_VERSION=0.19.5
# Install kubectl
RUN curl -sLO https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/linux/${ARCH}/kubectl && chmod +x kubectl && mv kubectl /usr/local/bin

#Install Helm
RUN curl -LO https://get.helm.sh/helm-v${HELM_VERSION}-linux-${ARCH}.tar.gz  && \
    tar -xzvf helm-v${HELM_VERSION}-linux-${ARCH}.tar.gz && \
    mv linux-${ARCH}/helm /usr/local/bin/helm && \
    chmod +x /usr/local/bin/helm && \
    rm -rf linux-${ARCH} helm-v${HELM_VERSION}-linux-${ARCH}.tar.gz


USER openjdk
ENTRYPOINT ["/bin/sh"]

Tried all docker cleanup commands, but still no luck.

docker rm -vf $(docker ps -aq)
docker rmi -f $(docker images -aq)
docker volume prune -f

Can someone please help in this regard.

The Instance i am running docker is on

OS: RHEL 8

Docker version: 24.0.7

1

There are 1 answers

1
Jam Ma On

The Dockerfile switches to a user named openjdk before setting the ENTRYPOINT. Ensure that the openjdk user exists and has the necessary permissions to access the directories and files it needs to. If openjdk is supposed to be a service user for a Java application, make sure that the user is created and configured correctly.