MAVSDK icon indicating copy to clipboard operation
MAVSDK copied to clipboard

Add tags and multiple architectures to official docker images

Open Sitin opened this issue 2 years ago • 6 comments

It would be nice to support multiple architectures (at least arm64) and tag images with MAVSDK release tag.


Currently images at the DockerHub are not tagged with the MAVSDK release which means it is not possible to freeze the version of a dockerized MAVSDK.

Also I am a bit confused: there is a relatively new mavsdk-ubuntu-22.04 image but it is not listed in build_and_push_docker_images.sh while mavsdk-ubuntu-20.04) was updated 3 months ago (there latter is present in the file).

Sitin avatar Jul 24 '22 20:07 Sitin

The images on dockerhub are only really for developers to build mavsdk but not to use mavsdk, so I don't believe we need tags.

Ubuntu 22.04 should now be there: https://github.com/mavlink/MAVSDK/blob/main/docker/build_and_push_docker_images.sh#L17 as the PR has been merged.

julianoes avatar Jul 26 '22 08:07 julianoes

Do you consider to publish official Docker image for the server itself?

Sitin avatar Jul 26 '22 14:07 Sitin

If there is a need for it, we can do it but I'm curious why you would need it.

If you use the x64 manylinux version it has absolute minimal dependencies and should run on any Linux, so why would you have to put it into docker?

ldd mavsdk_server_manylinux2010-x64 
	linux-vdso.so.1 (0x00007ffcfaaac000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f30950bf000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f309509d000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3095097000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3094eca000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3094d86000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3094d6c000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3094ba5000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f30950f9000)

julianoes avatar Jul 28 '22 03:07 julianoes

Basically I want to revitalise the work on web-based (gRPC via Envoy as in https://github.com/mavlink/MAVSDK-JavaScript) UX for MAVLink. And I don't want any dependencies except Docker for deployment.

Sitin avatar Jul 30 '22 13:07 Sitin

I've created an image for most of the architectures: sitin/mavsdk.

Here is the repo: https://github.com/Sitin/MAVSDK-Docker. I will keep it more or less up to date probably the next several months. But it would be nice if you will include Docker release to your pipeline.

I am currently using existing release tags to download binaries for each architecture.

Sitin avatar Jul 30 '22 16:07 Sitin

Ok, but you don't have any dependencies if you just do a wget of the mavsdk_server_manylinux2010-x64 binary into docker.

julianoes avatar Aug 02 '22 02:08 julianoes