Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker Desktop tutorial issue(s) #169

Open
vdice opened this issue May 24, 2024 · 6 comments · Fixed by #195
Open

Docker Desktop tutorial issue(s) #169

vdice opened this issue May 24, 2024 · 6 comments · Fixed by #195
Labels
area: installation Content related to installation guides. bug Something isn't working.

Comments

@vdice
Copy link
Contributor

vdice commented May 24, 2024

I recently followed the Docker Desktop tutorial and successfully get to the Deploying our Spin App to Docker.

Once there, docker push vdice/hello-docker fails with:

$ docker push vdice/hello-docker
Using default tag: latest
The push refers to repository [docker.io/vdice/hello-docker]
tag does not exist: vdice/hello-docker:latest

Should I be pushing the app via spin registry push vdice/hello-docker instead?

When I try that, I get to the spin kube deploy --from docker.io/vdice/hello-docker step and the SpinApp is created on the cluster but the pod is stuck ContainerCreating with:

Events:
  Type     Reason                  Age   From               Message
  ----     ------                  ----  ----               -------
  Normal   Scheduled               9s    default-scheduler  Successfully assigned default/hello-docker-6577bd5fb9-6h75h to docker-desktop
  Warning  FailedCreatePodSandBox  9s    kubelet            Failed to create pod sandbox: rpc error: code = Unknown desc = RuntimeHandler "spin" not supported

So maybe indeed I do need to docker push the app? Is the tutorial missing any steps -- or perhaps user error on my end? Would appreciate help double-checking the guide and comparing notes. cc @tpmccallum

@kedaarsridhar20
Copy link

I faced the same issue as @vdice while following the Docker Desktop tutorial. My docker push command failed with the tag error during the deployment phase as well.

@codeitlikemiley
Copy link

probably same issue im facing
#173

@bacongobbler bacongobbler added bug Something isn't working. area: installation Content related to installation guides. labels Jul 8, 2024
@bacongobbler bacongobbler linked a pull request Jul 11, 2024 that will close this issue
@bacongobbler
Copy link
Contributor

bacongobbler commented Jul 11, 2024

I am able to reproduce the same issue even after making some changes in #195.

Looking at the running containers:

><> k get po -A
NAMESPACE       NAME                                                READY   STATUS              RESTARTS   AGE
cert-manager    cert-manager-5b54fc556f-7v9q4                       1/1     Running             0          21m
cert-manager    cert-manager-cainjector-7d8b6cf7b9-q9dq9            1/1     Running             0          21m
cert-manager    cert-manager-webhook-7d4744b5ff-fjfmm               1/1     Running             0          21m
default         hello-docker-794676f69b-b8wfv                       0/1     ContainerCreating   0          13m
default         hello-docker-794676f69b-ffq62                       0/1     ContainerCreating   0          13m
kube-system     coredns-76f75df574-kvmf9                            1/1     Running             0          23m
kube-system     coredns-76f75df574-sqq5r                            1/1     Running             0          23m
kube-system     etcd-docker-desktop                                 1/1     Running             0          24m
kube-system     kube-apiserver-docker-desktop                       1/1     Running             0          24m
kube-system     kube-controller-manager-docker-desktop              1/1     Running             0          24m
kube-system     kube-proxy-qj4x5                                    1/1     Running             0          24m
kube-system     kube-scheduler-docker-desktop                       1/1     Running             0          24m
kube-system     storage-provisioner                                 1/1     Running             0          23m
kube-system     vpnkit-controller                                   1/1     Running             0          23m
kwasm           docker-desktop-provision-kwasm-pmgwl                0/1     Error               0          20m
kwasm           docker-desktop-provision-kwasm-wrxhr                0/1     Completed           0          20m
kwasm           kwasm-operator-5785445d88-dq8wg                     1/1     Running             0          20m
spin-operator   spin-operator-controller-manager-6796bc9848-dwwp7   2/2     Running             0          20m
><> k logs -n kwasm docker-desktop-provision-kwasm-pmgwl
grep: /mnt/node-root/etc/containerd/config.toml: No such file or directory
nsenter: can't execute 'systemctl': No such file or directory
><> k logs -n kwasm docker-desktop-provision-kwasm-wrxhr
No change in containerd/config.toml

Seems almost like it never actually provisioned the containerd shim.

Could be due to a possible bug in node-installer running with docker-desktop?

@bacongobbler
Copy link
Contributor

Indeed, after getting a shell in the Docker Desktop VM, I see the following processes running (no containerd-shim-spin):

~ # ps aux
PID   USER     TIME  COMMAND
    1 root      0:00 /init
   15 root      0:13 /init services
   27 root      0:00 /bin/sh /usr/bin/rungetty.sh
   28 root      0:00 /bin/login -f -- root
   34 root      0:00 -ash
   38 root      0:00 /usr/bin/devenv-server -socket /run/guest-services/devenv-volumes.sock
   53 root      0:00 /usr/bin/runc run --preserve-fds=3 01-docker
   64 root      0:00 /usr/libexec/docker/docker-init /usr/bin/entrypoint.sh
   70 root      0:00 {entrypoint.sh} /bin/sh /usr/bin/entrypoint.sh
   74 root      0:04 /usr/bin/lifecycle-server
   83 root      4:13 /usr/local/bin/containerd --config /etc/containerd/containerd.toml
   84 root      0:00 /usr/local/bin/containerd-stargz-grpc
  108 100       0:00 /sbin/rpcbind -w
  128 root      0:00 /sbin/rpc.statd
  143 root      0:00 /usr/sbin/rpc.idmapd
  149 root      3:49 /usr/local/bin/dockerd --containerd /run/containerd/containerd.sock --pidfile /run/desktop/docker.pid --swarm-default-advertise-addr=eth0 --host-gateway-ip 192.168.65.254
  648 root      0:09 /usr/bin/cri-dockerd --docker-endpoint unix:///run/guest-services/docker.sock --pod-infra-container-image registry.k8s.io/pause:3.9 --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/var/lib/cni-plugins/bin
  829 root      0:17 kubelet --kubeconfig=/etc/kubernetes/kubelet.conf --config /etc/kubeadm/kubelet.yaml --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --hostname-override=docker-desktop --container-runtime-endpoint unix:///var/run/cri
  876 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id f7c099e2d5e2a288a45cf5a7e9438f3258bc84882f02b2bb4cd638dba93d6a82 -address /run/containerd/containerd.sock
  897 65535     0:00 /pause
  916 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id cdb1e6b7c03409888ce965f8f6a5727bc59b27a12bcccfa28d42ac2abc5fa564 -address /run/containerd/containerd.sock
  937 65535     0:00 /pause
  956 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id f551d3f07a2ff7102e2d8bc9e362b6c7896e8527daefe446befc682176f64d44 -address /run/containerd/containerd.sock
  980 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 5f78038be05042a46ceda671debfc65a7daeefdadd35fa82ccc52475a8b50950 -address /run/containerd/containerd.sock
 1000 65535     0:00 /pause
 1011 65535     0:00 /pause
 1035 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 30688dedf2f9e236f195b3c27f6d853103e82b485581281485ea2b19530b8cce -address /run/containerd/containerd.sock
 1057 root      0:10 kube-controller-manager --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf --authorization-kubeconfig=/etc/kubernetes/controller-manager.conf --bind-address=127.0.0.1 --client-ca-file=/run/config/pki/ca.crt --clus
 1088 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 5c31de7462c7436bb85493dff50fb1f4dd234057e332b2cce4b8e30ceb45d0d6 -address /run/containerd/containerd.sock
 1109 root      0:02 kube-scheduler --authentication-kubeconfig=/etc/kubernetes/scheduler.conf --authorization-kubeconfig=/etc/kubernetes/scheduler.conf --bind-address=127.0.0.1 --kubeconfig=/etc/kubernetes/scheduler.conf --leader-elect=true
 1136 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 2b808f7a0d739aa7ec5f8c521c5beb3bd36625acf77a969392082731fb919e57 -address /run/containerd/containerd.sock
 1158 root      0:14 etcd --advertise-client-urls=https://192.168.65.3:2379 --cert-file=/run/config/pki/etcd/server.crt --client-cert-auth=true --data-dir=/var/lib/etcd --experimental-initial-corrupt-check=true --experimental-watch-progress-notify-int
 1181 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 51094ebddf1551b8fddf7c05a15f935ea3b286dcff971e5472a5eb7edac5d274 -address /run/containerd/containerd.sock
 1204 root      0:21 kube-apiserver --advertise-address=192.168.65.3 --allow-privileged=true --authorization-mode=Node,RBAC --client-ca-file=/run/config/pki/ca.crt --enable-admission-plugins=NodeRestriction --enable-bootstrap-token-auth=true --etcd-ca
 1321 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 5ad91c2a1422bc43b443a0da144059e3472a926ce60f78f2ec1d970cec1f15a3 -address /run/containerd/containerd.sock
 1342 65535     0:00 /pause
 1369 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 97173e8428ab9ea0476b6b991f95dc217e2c45ebe0e10766eef469af19d4b0be -address /run/containerd/containerd.sock
 1370 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 066f5185380508deee93a0d21e397e0b2fe90b309e972837a8210c850deb69f7 -address /run/containerd/containerd.sock
 1384 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 2d904b8803be7d40a32ffa4e00c1382b86d3a90e1f856eadbe44b37f3da81664 -address /run/containerd/containerd.sock
 1434 65535     0:00 /pause
 1436 65535     0:00 /pause
 1452 root      0:00 /usr/local/bin/kube-proxy --config=/var/lib/kube-proxy/config.conf --hostname-override=docker-desktop
 1703 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 0717281847bf08a5cf1e52eee2f5eb32b4619544af299650af5d5ee30156eefa -address /run/containerd/containerd.sock
 1722 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id a38ea409238a797d7c94924837cc2df67df0cad8891874c7a95bcad297905f9c -address /run/containerd/containerd.sock
 1748 65532     0:01 /coredns -conf /etc/coredns/Corefile
 1758 65532     0:00 /coredns -conf /etc/coredns/Corefile
 1851 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 574f6dae85c543cb33591d85df6498610654d3665d5874b5b19d11b435130086 -address /run/containerd/containerd.sock
 1872 65535     0:00 /pause
 1936 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 05bc82c82991ec4d6a7333dd11aef6f40670d574260e6d0b21629379e7db0e45 -address /run/containerd/containerd.sock
 1957 65535     0:00 /pause
 2042 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 04a85fc02c77b27359ac6555f03283e59e25f46e8491c1dae10e2b29f1c31209 -address /run/containerd/containerd.sock
 2063 root      0:00 /storage-provisioner /var/lib/k8s-pvs
 2097 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id be71340ad363089fc646d94f47fbe813e43215f03b94eca15ec65e15eb0d61a3 -address /run/containerd/containerd.sock
 2118 root      0:00 /kube-vpnkit-forwarder -path /run/host-services/backend.sock
 2627 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 2ea043d1c408e47962b96d761ab718c49bcd1aaeff2c7e94f83db9881ffc5c2c -address /run/containerd/containerd.sock
 2648 65535     0:00 /pause
 2676 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 935c0e2fd295743652d58946d02b0a9e6b4b6375e18d5f690a0195a8b436cabe -address /run/containerd/containerd.sock
 2705 65535     0:00 /pause
 2706 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 6bf14f381dc7a3ae2f1b145e1547e31ac46a3e8c04d7bd9e499c1f897198bd7e -address /run/containerd/containerd.sock
 2760 65535     0:00 /pause
 2937 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id e251db89e32a80723597467ad07c12bf0dd774c684da43a8d87f9b0f7c12f347 -address /run/containerd/containerd.sock
 2958 1000      0:00 /app/cmd/cainjector/cainjector --v=2 --leader-election-namespace=kube-system
 3016 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 0ad70339de533f2e9b0770630e00fc1d5054b17b8b9de1a82d50e44210da1a3d -address /run/containerd/containerd.sock
 3037 1000      0:00 /app/cmd/controller/controller --v=2 --cluster-resource-namespace=cert-manager --leader-election-namespace=kube-system --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.14.3 --max-concurrent-challenges=60
 3088 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id d2986515a8a68f91fd0f9ebe39ea73e967044c21684921f4bde0ebcd7ed4743c -address /run/containerd/containerd.sock
 3109 1000      0:00 /app/cmd/webhook/webhook --v=2 --secure-port=10250 --dynamic-serving-ca-secret-namespace=cert-manager --dynamic-serving-ca-secret-name=cert-manager-webhook-ca --dynamic-serving-dns-names=cert-manager-webhook --dynamic-serving-dns-
 3172 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id bd790bd7e83eeca938e8be168aeb929f2fa2ee3e192e068c87c1dcb5db00ba98 -address /run/containerd/containerd.sock
 3193 65535     0:00 /pause
 3319 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id c0a4436a22b62efd65aff89c70f70e6edb0d8bbdc345b3ecbc729eec3fcb0252 -address /run/containerd/containerd.sock
 3340 65532     0:00 /manager --health-probe-bind-address=:8082 --metrics-bind-address=127.0.0.1:8080 --leader-elect --enable-webhooks
 3376 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id b5e88fd7f6c8a1b66bb8fa9e818bb1fda934b99d555a0140f119205961a2a138 -address /run/containerd/containerd.sock
 3397 65532     0:00 /usr/local/bin/kube-rbac-proxy --secure-listen-address=0.0.0.0:8443 --upstream=http://127.0.0.1:8080/ --logtostderr=true --v=0
 3467 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id e37c296aaebeec4a1bb6ed73e022599a6a9cca47daf6b19599bf83725ae4725d -address /run/containerd/containerd.sock
 3487 65535     0:00 /pause
 3558 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id f5f8ef73321d2954b610a454704088e0b7c4d50f15f356001419f46713486c47 -address /run/containerd/containerd.sock
 3579 65532     0:00 /manager
 8634 root      0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 6159bef7c2fcfbef0c525a6fc0f6b78ef12fc81a87f7b80496a2eef36e1e9910 -address /run/containerd/containerd.sock
 8654 root      0:00 /bin/sh
 9103 root      0:00 ps aux

@bacongobbler
Copy link
Contributor

Reopening; this issue is still present.

@bacongobbler bacongobbler reopened this Jul 12, 2024
@bacongobbler
Copy link
Contributor

Knowing that the Docker Desktop tutorial is broken, should we remove it from the docs so that users do not fall into this trap?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: installation Content related to installation guides. bug Something isn't working.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants