<p>I am really having trouble debugging this and can use some help. I am successfully staring a kubernetes service and deployment using a working docker image. </p>

<p>My service file:</p>

<pre><code>apiVersion: v1
kind: Service
metadata:
  name: auth-svc
  labels:
    app: auth_v1
spec:
  type: NodePort
  ports:
  - port: 3000
    nodePort: 30000
    protocol: TCP
  selector:
    app: auth_v1
</code></pre>

<p>Deploy File: </p>

<pre><code>apiVersion: apps/v1
kind: Deployment
metadata:
  name: auth-deploy
  labels:
    app: auth_v1
spec:
  revisionHistoryLimit: 5
  minReadySeconds: 10
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 1
      maxSurge: 1
  replicas: 3
  selector:
    matchLabels:
      app: auth_v1
  template:
    metadata:
      labels:
        app: auth_v1
    spec:
      containers:
      - name: auth-pod
        image: index.docker.io/XXX/auth
        command: [ "yarn", "start-staging" ]
        imagePullPolicy: Always
        ports:
        - containerPort: 3000
       imagePullSecrets:
       - name: myregistrykey
</code></pre>

<p><code>kubectl get pods</code> shows that the pods are up and running. I have tested jumping into the pod/conatiner with shell and tried running my application and it works. When I run <code>kubectl describe auth-deploy</code> I am seeing a container listed as auth-pod. However, I am not seeing any containers when I run <code>docker ps</code> or <code>docker ps -a</code>. Also, the logs for my pods show nothing. Is there something I am doing wrong?</p>

<p>For reference, here is my Dockerfile: </p>

<pre><code>FROM node:8.11.2-alpine AS build

LABEL maintainer="info@XXX.com"

# Copy Root Dir &amp; Set Working Dir
COPY . /src
WORKDIR /src

# Build &amp; Start Our App
RUN apk update
RUN apk add --update alpine-sdk
RUN apk add --update python
RUN yarn install
RUN yarn build-staging

# Build Production Image Using Node Container
FROM node:8.11.2-alpine AS production

# Copy Build to Image
COPY --from=build /src/.next /src/.next/
COPY --from=build /src/production-server /src/production-server/
COPY --from=build /src/static /src/static/
COPY --from=build /src/package.json /src
WORKDIR /src

# Install Essential Pacakges &amp; Start App
RUN apk update
RUN apk add --update alpine-sdk
RUN apk add --update python
RUN yarn install

# Expose Ports Needed
EXPOSE 3000

VOLUME [ "/src/log" ]

# Start App
CMD [ "yarn", "start-staging" ]
</code></pre>

L. Norman
<p>Is it possible that you are running <code>docker ps</code> on the K8s-master instead of where the pods are located?</p>

<p>You can find out where your pods are running by running the command below:</p>

<pre><code>$ kubectl describe pod auth-deploy
</code></pre>

<p>It should return something similar to below (in my case it's a percona workload):</p>

<pre><code>$ kubectl describe pod percona
Name:           percona-b98f87dbd-svq64
Namespace:      default
Node:           ip-xxx-xx-x-xxx.us-west-2.compute.internal/xxx.xx.x.xxx
</code></pre>

<p>Get the IP, SSH into the node, and run <code>docker ps</code> locally from the node your container is located.</p>

<pre><code>$ docker ps | grep percona
010f3d529c55        percona                      "docker-entrypoint.s…"   7 minutes ago       Up 7 minutes                            k8s_percona_percona-b98f87dbd-svq64_default_4aa2fe83-861a-11e8-9d5f-061181005f56_0
616d70e010bc        k8s.gcr.io/pause-amd64:3.1   "/pause"                 8 minutes ago       Up 7 minutes                            k8s_POD_percona-b98f87dbd-svq64_default_4aa2fe83-861a-11e8-9d5f-061181005f56_0
</code></pre>

<p>Another possibility is that you might be using different container runtime such as rkt, containerd, and lxd instead of docker.</p>
