Depuis quelques temps, Docker Desktop est devenu payant. C'est nécessaire pour l'entreprise qui l'édite, mais pas forcément pour des utilisateurs habitués à la gratuité du produit. Pour l'instant, je l'utilise donc toujours, mais avec mauvaise conscience.

Internet, toujours riche en suggestions ... pas forcément utiles, me propose cette fois un mouvement audacieux

Comme j'ai un peu de temps, autant tenter la manoeuvre ... Mais je vais tenter ça avec un minimum de précaution : j'ai sur ma machine un certain nombre de conteneurs utiles que j'aimerais pouvoir conserver dans Rancher Desktop :

C:\Users\nicolas-delsaux>docker ps --format '{{.Names}}'
'kroki-excalidraw'
'kroki'
'selenoid'
'selenoid-ui'
'watchtower'

Je dois donc d'abord retrouver la ligne de commande utilisée pour lancer chacun de ces conteneurs ...

Et j'ai beau chercher, je ne trouve pas de façon générique de récupérer leur ligne de commande. Je vais donc migrer ça à la main en espérant retrouver la bonne ligne de commande.

Pour watchtower, c'est facile, c'est dans la page Docker Hub. Donc paf

docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock --restart always containrrr/watchtower

Pour kroki, c'est à peine plus compliqué (surtout que j'ai enlevé kroki-excalidraw, que je n'ai jamais utilisé)

docker run -d --name kroki -p 29000:8000 --restart always yuzutech/kroki:latest

Par contre, pour selenoid, c'est un peu plus compliqué

docker network create selenoid
docker run -d --name selenoid --network selenoid -p 4444:4444 -v //var/run/docker.sock:/var/run/docker.sock -v %HOME%\.aerokube\selenoid:/etc/selenoid aerokube/selenoid:latest-release
docker run -d --name selenoid-ui --network selenoid -p 38080:8080 aerokube/selenoid-ui --selenoid-uri http://selenoid:4444

docker pull selenoid/chrome:90.0
docker pull selenoid/video-recorder:latest-release 

Et une fois que c'est fait, ça marche ! Il y a quand même un petit défaut au passage à Rancher (qui m'amène un cluster k3s dont je ne sais pas encore quoi faire), c'est que cette commande devient un poil plus longue

docker ps
CONTAINER ID   IMAGE                              COMMAND                  CREATED          STATUS                    PORTS                                         NAMES
298933f02f3f   aerokube/selenoid-ui               "/selenoid-ui --sele…"   13 minutes ago   Up 13 minutes (healthy)   0.0.0.0:38080->8080/tcp, :::38080->8080/tcp   selenoid-ui
c35940438e50   aerokube/selenoid:latest-release   "/usr/bin/selenoid -…"   16 minutes ago   Up 16 minutes             0.0.0.0:4444->4444/tcp, :::4444->4444/tcp     selenoid
86fbee8f3976   yuzutech/kroki:latest              "/bin/sh -c 'exec ja…"   3 hours ago      Up 3 hours                0.0.0.0:29000->8000/tcp, :::29000->8000/tcp   kroki
9fe5b9911256   containrrr/watchtower              "/watchtower"            3 hours ago      Up 3 hours                8080/tcp                                      watchtower
4be094681b97   746788bcc27e                       "entry"                  3 hours ago      Up 3 hours                                                              k8s_lb-port-443_svclb-traefik-tx47d_kube-system_5939a410-7da8-4f24-af79-becc1b4d802a_0
79cfab73c9d8   rancher/klipper-lb                 "entry"                  3 hours ago      Up 3 hours                                                              k8s_lb-port-80_svclb-traefik-tx47d_kube-system_5939a410-7da8-4f24-af79-becc1b4d802a_0
297084ed8406   rancher/mirrored-library-traefik   "/entrypoint.sh --gl…"   3 hours ago      Up 3 hours                                                              k8s_traefik_traefik-864f86bfd8-xlfnb_kube-system_ac6bf342-16c9-4414-aed6-8d7c8fd0f372_0
eb8e4f21ea6f   rancher/local-path-provisioner     "local-path-provisio…"   3 hours ago      Up 3 hours                                                              k8s_local-path-provisioner_local-path-provisioner-9789bdbfb-444rc_kube-system_9cb3b321-3cf7-4750-a8d8-aeeb005ed27e_0
780e01c35406   rancher/mirrored-metrics-server    "/metrics-server --c…"   3 hours ago      Up 3 hours                                                              k8s_metrics-server_metrics-server-6486d89755-l4h99_kube-system_ccc73032-3201-488c-b365-24a56cd84fa6_0
e97d1510e47d   rancher/mirrored-pause:3.1         "/pause"                 3 hours ago      Up 3 hours                                                              k8s_POD_traefik-864f86bfd8-xlfnb_kube-system_ac6bf342-16c9-4414-aed6-8d7c8fd0f372_0
093bcb6dc1e7   rancher/mirrored-pause:3.1         "/pause"                 3 hours ago      Up 3 hours                                                              k8s_POD_svclb-traefik-tx47d_kube-system_5939a410-7da8-4f24-af79-becc1b4d802a_0
76a97eb181c4   rancher/mirrored-coredns-coredns   "/coredns -conf /etc…"   3 hours ago      Up 3 hours                                                              k8s_coredns_coredns-84c56f7bfb-xrsq9_kube-system_62c58fc1-6ed5-44d8-b849-afba411601f0_0
e7d7aeffe375   rancher/mirrored-pause:3.1         "/pause"                 3 hours ago      Up 3 hours                                                              k8s_POD_metrics-server-6486d89755-l4h99_kube-system_ccc73032-3201-488c-b365-24a56cd84fa6_0
a5c0fba4f950   rancher/mirrored-pause:3.1         "/pause"                 3 hours ago      Up 3 hours                                                              k8s_POD_coredns-84c56f7bfb-xrsq9_kube-system_62c58fc1-6ed5-44d8-b849-afba411601f0_0
9226c968e36d   rancher/mirrored-pause:3.1         "/pause"                 3 hours ago      Up 3 hours                                                              k8s_POD_local-path-provisioner-9789bdbfb-444rc_kube-system_9cb3b321-3cf7-4750-a8d8-aeeb005ed27e_0

Oui, il y a quand même un paquet de conteneurs en plus ... Mais d'un autre côté, je suis revenu dans les clous ... (par contre j'aimerais vraiment bien avoir un DNS pour mes conteneurs, parce que les ports, c'est pénible).