Docker Tag, Containers and Kubernetes Pods: Difference between revisions
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.