wpilibsuite / docker-images Goto Github PK
View Code? Open in Web Editor NEWDocker images for building WPILib
Docker images for building WPILib
In the current state of how images are named, every image has the ubuntu
prefix or suffix. In some cases, this would be fine, especially with software designed around just Ubuntu. But this causes issues when trying to bring in support for Debian. It would be possible to generate another set of containers with a debian
prefix/suffix.
Many popular images on Docker Hub use a generic image name, and note any differing changes into the tag. Take the Grafana image for example, it will tag versions and releases with Alpine as its base, and Ubuntu bases with a -ubuntu
suffix (latest
, latest-ubuntu
, 9.0.6
, 9.0.6-ubuntu
, etc.). Or the Python image, which will put the OS version in the tag name (3.9.13-buster
, 3.9.13-bullseye
, etc.). Along with the verbose tags, the Python images are also tagged with more generic names to make end-user usage easier (3.10.6-bullseye
== 3.10-bullseye
== 3-bullseye
== bullseye
).
I think the images in this repo should follow the Python, along with a specifier of Ubuntu or Debian. But this can also be implied by the name of the tag, as Ubuntu and Debian has never had matching version names.
Image Name | Generic Tag | Complex Tag |
---|---|---|
base | 2023.1.1 and/or latest |
ubuntu , 2023.1.1-ubuntu , 2023.1.1-ubuntu-focal , 2023.1.1 , 2023.1 , 2023 debian , 2023.1.1-debian , 2023.1.1-debian-bullseye , 2023.1.1-debian , 2023.1-debian , 2023-debian |
roborio-cross | 2023.1.1 and/or latest |
ubuntu , 2023.1.1-ubuntu , 2023.1.1-ubuntu-focal , 2023.1.1 , 2023.1 , 2023 debian , 2023.1.1-debian , 2023.1.1-debian-bullseye , 2023.1.1-debian , 2023.1-debian , 2023-debian |
frcvision-cross | 2023.1.1 and/or latest |
ubuntu , 2023.1.1-ubuntu , 2023.1.1-ubuntu-focal , 2023.1.1 , 2023.1 , 2023 debian , 2023.1.1-debian , 2023.1.1-debian-bullseye , 2023.1.1-debian , 2023.1-debian , 2023-debian |
jetson-cross | 2023.1.1 and/or latest |
ubuntu , 2023.1.1-ubuntu , 2023.1.1-ubuntu-focal , 2023.1.1 , 2023.1 , 2023 debian , 2023.1.1-debian , 2023.1.1-debian-bullseye , 2023.1.1-debian , 2023.1-debian , 2023-debian |
gazebo | 2023.1.1 and/or latest |
ubuntu , 2023.1.1-ubuntu , 2023.1.1-ubuntu-focal , 2023.1.1 , 2023.1 , 2023 debian , 2023.1.1-debian , 2023.1.1-debian-bullseye , 2023.1.1-debian , 2023.1-debian , 2023-debian |
opensdk | 2023.1.1 and/or latest |
ubuntu , 2023.1.1-ubuntu , 2023.1.1-ubuntu-focal , 2023.1.1 , 2023.1 , 2023 debian , 2023.1.1-debian , 2023.1.1-debian-bullseye , 2023.1.1-debian , 2023.1-debian , 2023-debian |
As you can see by the image names, I also changed the names of raspbian-cross
/aarch64-cross
to frcvision-cross
/jetson-cross
as these containers are used for very specialized targets which were not apparent until you look at the tags of the images.
Another design choice, which I do not particularly like, but would follow the design of the current system, can look like the following.
Image Name | Generic Tag | Complex Tag |
---|---|---|
base-ubuntu | 2023.1.1 and/or latest |
2023.1.1-focal , 2023.1.1 , 2023.1 , 2023 |
base-debian | 2023.1.1 and/or latest |
2023.1.1-bullseye , 2023.1.1 , 2023.1 , 2023 |
roborio-cross-ubuntu | 2023.1.1 and/or latest |
2023.1.1-focal , 2023.1.1 , 2023.1 , 2023 |
roborio-cross-debian | 2023.1.1 and/or latest |
2023.1.1-bullseye , 2023.1.1 , 2023.1 , 2023 |
frcvision-ubuntu | 2023.1.1 and/or latest |
2023.1.1-focal , 2023.1.1 , 2023.1 , 2023 |
frcvision-debian | 2023.1.1 and/or latest |
2023.1.1-bullseye , 2023.1.1 , 2023.1 , 2023 |
jetson-ubuntu | 2023.1.1 and/or latest |
2023.1.1-focal , 2023.1.1 , 2023.1 , 2023 |
jetson-debian | 2023.1.1 and/or latest |
2023.1.1-bullseye , 2023.1.1 , 2023.1 , 2023 |
gazebo-ubuntu | 2023.1.1 and/or latest |
2023.1.1-focal , 2023.1.1 , 2023.1 , 2023 |
gazebo-debian | 2023.1.1 and/or latest |
2023.1.1-bullseye , 2023.1.1 , 2023.1 , 2023 |
opensdk-ubuntu | 2023.1.1 and/or latest |
2023.1.1-focal , 2023.1.1 , 2023.1 , 2023 |
opensdk-debian | 2023.1.1 and/or latest |
2023.1.1-bullseye , 2023.1.1 , 2023.1 , 2023 |
Both versions allow for multiple versions from the same distro, which will bring flexibility to slowly roll out the migration from one LTS release to another.
Ran into this issue when trying to have an automated GitHub Action run Spotless formatting on a protected main branch of robot code and trying to follow this workaround to use GitHub deploy keys. In some cases, it may be preferable to use ssh authentication to do this, but this cannot be done as the current Docker images do not include 'ssh-agent'.
I was able to get around this by following the main solution listed (Made a mistake and added the bot to the 'Allow force pushes' list instead of the bypass list), but it might be useful to have this option.
This issue is directly related to images on docker hub (https://hub.docker.com/r/wpilib/raspbian-cross-ubuntu/)
Users can't pull the image from docker. Missing the image with tag latest
Context information (for bug reports)
docker pull wpilib/raspbian-cross-ubuntu
The error in terminal
โ docker pull wpilib/raspbian-cross-ubuntu
Using default tag: latest
Error response from daemon: manifest for wpilib/raspbian-cross-ubuntu:latest not found
In each stable relase push container with the latest
tag.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.