Docker Tag, Containers and Kubernetes Pods: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
No edit summary
Line 58: Line 58:
     image: ovidiufeodorov/color:latest
     image: ovidiufeodorov/color:latest
</syntaxhighlight>
</syntaxhighlight>
kubectl apply -f ./pod.yml
kubectl logs pods/test
I am blue
which is the remote registry image, the local tag is ignored.

Revision as of 20:58, 12 August 2019

Internal

Overview

Containers executed by Docker behave differently in respect to tag resolution than the same containers executed from a Kubernetes pod.

We create a "color:latest" image that serves "blue" and push it on Docker Hub.

Dockerfile:

FROM busybox
CMD echo "I am blue"
docker build -t docker.io/ovidiufeodorov/color:latest .
docker push ovidiufeodorov/color

We run the image:

docker run ovidiufeodorov/color:latest
I am blue


We create a local image that serves "red"

Dockerfile:

FROM busybox
CMD echo "I am red"
docker build -t localimage:latest .
docker run localimage:latest 
I am red

We retag localimage:latest as ovidiufeodorov/color:latest:

docker tag localimage:latest ovidiufeodorov/color:latest

When we run ovidiufeodorov/color:latest we get "red"

docker run ovidiufeodorov/color:latest
I am red

However, when we run "ovidiufeodorov/color:latest" from a Kubernetes pod, we get the remote registry image ("blue").

pod.yml:

apiVersion: v1
kind: Pod
metadata:
  name: test
spec:
  containers:
  - name: testc
    image: ovidiufeodorov/color:latest
kubectl apply -f ./pod.yml
kubectl logs pods/test
I am blue

which is the remote registry image, the local tag is ignored.