microsoft / AirSim

Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research
https://microsoft.github.io/AirSim/
Other
16.33k stars 4.55k forks source link

Multiple issues in Dockerfiles #4564

Open Khepu opened 2 years ago

Khepu commented 2 years ago

Bug report

What's the issue you encountered?

As it is right now, neither Dockerfile builds, for different reasons.

Dockerfile_binary is no longer working due to an issue with cudagl:10.0, the keyring of Nvidia sources is expired and Nvidia has not updated that. Take a look here.

Dockerfile_source has an issue with the default base image. It no longer exists. From what I could gather, in order to build an unreal engine project inside a container, the only option is to use the official epic games dev containers. ue4-docker has since become the basis for the official images, but the original were taken down.

Both dockerfiles do lack some standard best practices. I think the most glaring one is that building from source required cloning the repository inside the container.

How can the issue be reproduced?

The issue can be easily reproduced by using the documentaiton instructions to build either image.

Include full error message in text form

Dockerfile_binary

GPG error:
https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64
InRelease: The following signatures couldn't be verified because the public key
is not available: NO_PUBKEY A4B469963BF863CC

Dockerfile_source

failed to solve with frontend dockerfile.v0: failed to create LLB definition: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed

Fixing it

I am involved in a project in which we plan to make heavy use of AirSim for autonomous driving. This is one of the first issues we encountered and it is actually one we can fix. I am opening this issue mainly to make these problems known until we are able to produce a complete pull request with the required fixes and documentation updates where needed.

r-bahrami commented 2 years ago

In the file Dockerfile_binary located in ~/AirSim/docker/Dockerfile_binary

add the following two lines

RUN rm /etc/apt/sources.list.d/cuda.list

RUN rm /etc/apt/sources.list.d/nvidia-ml.list

after FROM $BASE_IMAGE .

check out my repo docker/Dockerfile_binary. I tested it on Ubuntu 20.04.

Ref. and and further discussion available on nvidia-docker issues#1632