Docker on the TX2

Sorry, I somehow forgot a key piece for getting GPU programs running inside of Docker containers.

Need to set the

LD_LIBRARY_PATH

to point to the

/usr/lib/aarch64-linux-gnu-tegra

directory inside of your Dockerfile as it contains libraries that your GPU program will need to run. There might be others as well depending on your specific program, but for deviceQuery, it needs that directory specifically.

I’ve updated the README as well as the sample Dockerfile to reflect this.

Hopefully this resolves your issue.

That fixed the issue, thanks!

Hi guys @frankjoshua @kgdad @coogsy

I am a student working on Docker project on Nvidia jetson Tx2, I read all the comments on this topic. I tried installing Docker normally as given on official docker documentation. But got to know Docker does not support for Nvidia tegra devices and now after seeing the info here I am hoping to get docker run on my jetson Tx2.

My whole project is to implement OpenCV app on Jetson Tx2 by using GPU capababilty and I should dockerize the Application. For this I need to first install docker on Tx2 as you guys explained in the Github links. Next I need to give containers access to use GPU feature. Later on I should be able to provide High availability of this app by pushing the app to registry Dockerhub.

So I thought the above guide provided by you all pretty much satisfies all the requirements to attain the objective of project.

Shall i proceed with the steps as you all suggested? Can we manage swarms on jetson Tx2 by creating clusters and deployment of nodes across multiple hosts as we do in Docker on normal PC’s ?

It would be really helpful if you reach out to me via email: nagthejmr@gmail.com

Thanks in advance
Regards
Nagthej

Hi nagthej,

Thanks for your question.

  1. Please find comment #6 to enable required options in the kernel.
  2. Please find comment #21 to set GPU configuration.

Can we manage swarms on jetson Tx2 by creating clusters and deployment of nodes across multiple hosts as we do in Docker on normal PC’s ?
We don’t have a relevant experiment before. But ideally, it should work.

Hi all

Has anyone installed Nvidia-docker on jetson Tx2?
I saw we can make use of Containers and work like a normal docker and leverage GPU of jetson. But i am not able to find the exact link of the installation guide.
If anyone is aware of this, please provide provide me a source link to follow instructions to install it.

Regards
Nagthej

Hi,

Nvidia-docker is not supported TX2 right now. (possible in nvdocker2.0)
But you can check this issue; someone has posted an alternative to install Nvidia-docker.

Correct, nvidia-docker is not supported on the TX-2 for a variety of reasons. Based on feedback from NVIDIA they will look into supporting it once nvidia-docker 2.0 is released but it’s unclear exactly where it is on their roadmap.

There are alternatives in the short term which you can view in this thread.

Regarding recompiling the kernel for Docker. I am able to run through the stock recompile without issues but when I replace the .config in /usr/src/kernel/kernel-4.4 with buildJetsonTX2Kernel/config at master · frankjoshua/buildJetsonTX2Kernel · GitHub the build asks a bunch of Y/N questions and doesn’t end up building the arch Image file that copyImage.sh is looking for.

The build goes through all the way from what it looks like but doesn’t create the Image file

I created and Ansible playbook to install Docker. It downloads the kernel sources, copies the config, builds the kernel, reboots, and then installs Docker.

[url]https://github.com/frankjoshua/nvidiaTX2AnsibleDockerInstaller[/url]

Unfortunately it currently only works with Jetpack L4T 3.0 and not 3.1. It anyone wants to get it working with 3.1 I would appreciate the help.

This is based on the kernel build scripts from jetsonhacks.com

Hi all!
I am getting exactly this same issue as to tflack.
Could someone help us out? Maybe tflack figurd it out.
Thank you!
mtorre

For who also met the issue, please check the solution here:
[url]Docker on TX1 (or TX2) - Jetson TX1 - NVIDIA Developer Forums

Thanks.

Just tried installing docker on JetPack 3.2 — L4T R28.2 Developer Preview for Jetson TX2 and it worked like a charm.

b Set up the docker repository[/b]
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository “deb [arch=arm64] Index of linux/ubuntu/ $(lsb_release -cs) stable”

b Install Docker CE[/b]
$ sudo apt-get update
$ sudo apt-get install docker-ce

b Verify the installation[/b]
$ sudo docker run hello-world

Hi, merdzan

Thanks for your testing and feedback.
We will update this information to someone who needs it.

Happy New Year!!

Any solutions for installing docker on Nvidia Tx2 boards without re-compiling its kernel?

I am getting the same error as:

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
invoke-rc.d: initscript docker, action "start" failed.
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2018-07-10 15:48:11 IST; 8ms ago
     Docs: https://docs.docker.com
  Process: 10507 ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS (code=exited, status=1/FAILURE)
 Main PID: 10507 (code=exited, status=1/FAILURE)

Jul 10 15:48:09 TX2-61-IPC systemd[1]: Starting Docker Application Container Engine...
Jul 10 15:48:09 TX2-61-IPC dockerd[10507]: time="2018-07-10T15:48:09.974644000+05:30" level=info msg="libcontainerd: new containerd process, pid: 10514"
Jul 10 15:48:10 TX2-61-IPC dockerd[10507]: time="2018-07-10T15:48:10.984032000+05:30" level=warning msg="unable to modify root key limit, number of con...irectory"
Jul 10 15:48:10 TX2-61-IPC dockerd[10507]: time="2018-07-10T15:48:10.990735000+05:30" level=error msg="'overlay' not found as a supported filesystem on... loaded."
Jul 10 15:48:10 TX2-61-IPC dockerd[10507]: time="2018-07-10T15:48:10.993099000+05:30" level=error msg="'overlay' not found as a supported filesystem on... loaded."
Jul 10 15:48:11 TX2-61-IPC dockerd[10507]: Error starting daemon: error initializing graphdriver: devicemapper: Error running deviceCreate (CreatePool)...un failed
Jul 10 15:48:11 TX2-61-IPC systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Jul 10 15:48:11 TX2-61-IPC systemd[1]: Failed to start Docker Application Container Engine.
Jul 10 15:48:11 TX2-61-IPC systemd[1]: docker.service: Unit entered failed state.
Jul 10 15:48:11 TX2-61-IPC systemd[1]: docker.service: Failed with result 'exit-code'.

The latest version of Jetpack, 3.2, has support for Docker out of the box. Just need to reflash your TX2 with the latest version and you should be good to go.

Any update on nvidia-docker2 support for the TX2?

https://nvidia.github.io/libnvidia-container/ubuntu16.04/arm64/InRelease

still says unsupported distribution

Hi,

nvidia-docker doesn’t support Jetson yet.
Thanks.