Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Digital Ocean Docker registry

doctl registry create szabgab-demo

The URL of the registy then going to be:

registry.digitalocean.com/szabgab-demo

In order to login to the Docker registry:

sudo snap connect doctl:dot-docker
doctl registry login

Locally build the docker image (as earlier) so we can try it:

docker build -t myflask:1.00 -f Dockerfile_echo_get .
  • Tag it to the Docker registry of Digital Ocean
docker tag myflask:1.00 registry.digitalocean.com/szabgab-demo/myflask:1.00

Then push to the registry

docker push registry.digitalocean.com/szabgab-demo/myflask:1.00

Web based integration between the Kubernetes cluster and the Docker registry. See this explanation: How to Use Your Private DigitalOcean Container Registry with Docker and Kubernetes

apiVersion: apps/v1
kind: Deployment
metadata:
  name: echo-get-deployment
spec:
  selector:
    matchLabels:
      run: echo-get-pod
  replicas: 2
  template:
    metadata:
      labels:
        run: echo-get-pod
    spec:
      containers:
        - name: echo-get-container
          #image: python:3.9
          #command: ["tail", "-f", "/etc/passwd"]
          #myflask:1.00
          image: registry.digitalocean.com/szabgab-demo/myflask:1.00
          imagePullPolicy: Always
          #imagePullPolicy: Never
          ports:
            - containerPort: 5000

kubectl apply -f deploy_echo_get.yaml
  • "ssh" to the docker container running in the pod on Kubernetes.
kubectl exec -it echo-get-deployment-bb5bd946-p6k6m -- bash

add load balancers

apiVersion: v1
kind: Service
metadata:
  name: echo-get-loadbalancer
  annotations:
    service.beta.kubernetes.io/do-loadbalancer-protocol: "http"
    service.beta.kubernetes.io/do-loadbalancer-size-slug: "lb-small"
spec:
  type: LoadBalancer
  selector:
    run: echo-get-pod
  ports:
    - name: http
      protocol: TCP
      port: 80
      targetPort: 5000
kubectl apply -f load_balancer.yaml