With the change to Docker, Docker is changing its license going forward with Docker Desktop as noted in their license and blog. Much like a former colleague of mine’s article YADPBP: Yet Another Docker to Podman Blog Post, I have entered into the Docker Desktop migration.
I’ve tried minikube, microk8s, podman, Lima-vm and Rancher Desktop. Many of these solutions run a single container, such as multipass. In fact, I tried using Multipass with Podman installed inside of the multipass vm. I found the networking and forwarding needs while testing multiple containers to a local dev environment was a pain. I spent a few days working with minikube, microk9s, podman and ended up on Racher Desktop.
Rancher Desktop has flavors for Mac and Linux (I don’t run Windows as a base OS anymore). I downloaded one of the tech preview releases from GitHub and installed. It’s fairly simple, and they have a straight-forward readme. One trick, be sure to install / setup nerdctl
.

nerdctl
is a Docker-compatible commandline replacement and integrate seamlessly with Rancher Desktop.
~/$ nerdctl run -p 9443:9443 --name fhir -e BOOTSTRAP_DB=true ibmcom/ibm-fhir-server
docker.io/ibmcom/ibm-fhir-server:latest: resolved |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:41f6894fa546899e02e4a8d2370bb6910eb72ed77ec58ae06c3de5e12f3ebb1c: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:3c912cc1a5b7c69ae15c9b969ae0085839b926e825b6555a28518458f4bd4935: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:06038631a24a25348b51d1bfc7d0a0ee555552a8998f8328f9b657d02dd4c64c: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:661abc6f8cb3c6d78932032ce87eb294f43f6eca9daa7681816d83ee0f62fb3d: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:e74a68c65fb24cc6fabe5f925d450cae385b2605d8837d5d7500bdd5bad7f268: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:262268b65bd5f33784d6a61514964887bc18bc00c60c588bc62bfae7edca46f1: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:d5e08b0b786452d230adf5d9050ce06b4f4d73f89454a25116927242507b603b: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:50dc68e56d6bac757f0176b8b49cffc234879e221c64a8481805239073638fb4: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:1831e571c997bd295bd5ae59bfafd69ba942bfe9e63f334cfdc35a8c86886d47: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:d29b7147ca6a2263381a0e4f3076a034b223c041d2a8f82755c30a373bb6ade7: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:a2643035bb64ff12bb72e7b47b1d88e0cdbc3846b5577a9ee9c44baf7c707b20: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:3ba05464ea94778cacf3f55c7b11d7d41293c1fc169e9e290b48e2928eaad779: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:6fb3372b06eb12842f94f14039c1d84608cbed52f56d3862f2c545d65e784a00: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:4cf8515f0f05c79594b976e803ea54e62fcaee1f6e5cfadb354ab687b758ed55: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:4debf1aa73b3e81393dc46e2f3c9334f6400e5b0160beb00196d0e5803af1e63: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:ecaacecff5f80531308a1948790550b421ca642f57b78ea090b286f74f3a7ba1: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:1ccf6767107a3807289170cc0149b6f60b5ed2f52ba3ba9b00b8d320951c4317: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:8144e53119b8ac586492370a117aa83bc31cf439c70663a58894fc1dfe9a4e08: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:16bdcde4e18e3d74352c7e42090514c7f2e0213604c74e5a6bf938647c195546: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:e9726188008a01782dcb61103c7d892f605032386f5ba7ea2acbcb6cf9770a0e: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:c37730e2eaef6bbb446d2ebe5ec230eef4abdb36e6153778d1ae8416f5543e7d: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:35d3a4502906b8e3a4c962902925f8e1932c8fb012fa84e875494049d8a6b324: done |++++++++++++++++++++++++++++++++++++++|
elapsed: 94.3s total: 696.1 (7.4 MiB/s)
bootstrap.sh - [INFO]: 2021-12-07_19:42:09 - Current directory: /opt/ibm-fhir-server
bootstrap.sh - [INFO]: 2021-12-07_19:42:09 - Performing Derby database bootstrapping
2021-12-07 19:42:11.348 00000001 INFO .common.JdbcConnectionProvider Opening connection to database: jdbc:derby:/output/derby/fhirDB;create=true
2021-12-07 19:42:13.138 00000001 WARNING ls.pool.PoolConnectionProvider Get connection took 1.791 seconds
2021-12-07 19:42:13.382 00000001 INFO m.fhir.schema.app.LeaseManager Requesting update lease for schema 'APP' [attempt 1]
When you see ready to run a smarter planet
, the server is started.
[12/7/21, 19:45:00:437 UTC] 00000027 FeatureManage A CWWKF0011I: The defaultServer server is ready to run a smarter planet. The defaultServer server started in 20.229 seconds.
When running the $healthcheck
, you see:
curl -u fhiruser:change-password https://localhost:9443/fhir-server/api/v4/\$healthcheck -k -H "Prefer: return=OperationOutcome"
{"resourceType":"OperationOutcome","issue":[{"severity":"information","code":"informational","details":{"text":"All OK"}}]}
Racher Desktop is up… time to run with it…