mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2024-11-29 07:21:46 +00:00
95 lines
1.9 KiB
Markdown
95 lines
1.9 KiB
Markdown
|
# NVIDIA Container Toolkit Release Tooling
|
||
|
|
||
|
This repository allows for the components of the NVIDIA container stack to be
|
||
|
built and released as the NVIDIA Container Toolkit from a single repository. The components:
|
||
|
* `libnvidia-container`
|
||
|
* `nvidia-container-runtime`
|
||
|
* `nvidia-docker`
|
||
|
are included as submodules in the `third_party` folder.
|
||
|
|
||
|
The `nvidia-container-toolkit` resides in this repo directly.
|
||
|
|
||
|
## Building
|
||
|
|
||
|
In oder to build the packages, the following command is executed
|
||
|
```sh
|
||
|
./scripts/build-all.sh TARGET
|
||
|
```
|
||
|
where `TARGET` is a make target that is valid for each of the sub-components.
|
||
|
|
||
|
These include:
|
||
|
* `ubuntu18.04-amd64`
|
||
|
* `docker-all`
|
||
|
with the later generating for all supported distribution and platform combinations.
|
||
|
|
||
|
The packages are generated in the `dist` folder.
|
||
|
|
||
|
## Testing local changes
|
||
|
|
||
|
In oder to use the same build logic to be used to generate packages with local changes,
|
||
|
the location of the individual components can be overridded using the: `LIBNVIDIA_CONTAINER_ROOT`,
|
||
|
`NVIDIA_CONTAINER_TOOLKIT_ROOT`, `NVIDIA_CONTAINER_RUNTIME_ROOT`, and `NVIDIA_DOCKER_ROOT`
|
||
|
environment variables.
|
||
|
|
||
|
## Testing packages locally
|
||
|
|
||
|
### Ubuntu
|
||
|
|
||
|
Launch a docker container:
|
||
|
|
||
|
```
|
||
|
docker run --rm -it \
|
||
|
-v $(pwd):/work \
|
||
|
-v $(pwd)/dist/ubuntu18.04/amd64:/local-repository \
|
||
|
-w /work \
|
||
|
ubuntu:18.04
|
||
|
```
|
||
|
|
||
|
|
||
|
```
|
||
|
apt-get update && apt-get install -y apt-utils
|
||
|
```
|
||
|
|
||
|
```
|
||
|
echo "deb [trusted=yes] file:/local-repository/ ./" > /etc/apt/sources.list.d/local.list
|
||
|
```
|
||
|
|
||
|
```
|
||
|
cd /local-repository && apt-ftparchive packages . > Packages
|
||
|
```
|
||
|
|
||
|
```
|
||
|
apt-get update
|
||
|
```
|
||
|
|
||
|
|
||
|
|
||
|
### Centos
|
||
|
|
||
|
```
|
||
|
docker run --rm -it \
|
||
|
-v $(pwd):/work \
|
||
|
-v $(pwd)/dist/centos8/x86_64:/local-repository \
|
||
|
-w /work \
|
||
|
centos:8
|
||
|
```
|
||
|
|
||
|
```
|
||
|
yum install -y createrepo
|
||
|
```
|
||
|
|
||
|
```
|
||
|
createrepo /local-repository
|
||
|
```
|
||
|
|
||
|
```
|
||
|
cat >/etc/yum.repos.d/local.repo <<EOL
|
||
|
[local]
|
||
|
name=NVIDIA Container Toolkit Local Packages
|
||
|
baseurl=file:///local-repository
|
||
|
enabled=1
|
||
|
gpgcheck=0
|
||
|
protect=1
|
||
|
EOL
|
||
|
```
|