Skip to content

Commit

Permalink
Add TOC.
Browse files Browse the repository at this point in the history
  • Loading branch information
AndreyKoltsov1997 committed Oct 11, 2023
1 parent 192828d commit b92b393
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions custom/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@
# Custom TeamCity Agent Images

The folder includes Dockerfiles that you can utilize to create custom TeamCity Agent images.

# 1. .NET SDK
# Content
<!-- TOC -->
* [1. .NET SDK](#1-net-sdk)
* [1.1. Building Images](#11-building-images)
* [1.2 .NET End of Support Dates](#12-net-end-of-support-dates)
* [2. Podman](#2-podman)
* [2.1 Building Images](#21-building-images)
* [2.2 Execution](#22-execution)
* [2.2.1 Rootless Podman in Docker (no '--privileged')](#221-rootless-podman-in-docker-no---privileged)
* [2.2.2 Rootful Podman in Docker ('--privileged')](#222-rootful-podman-in-docker---privileged)
* [2.3 Podman - troubleshooting](#23-podman---troubleshooting)
* [2.3.1 Inability to execute images with rootful Podman](#231-inability-to-execute-images-with-rootful-podman)
<!-- TOC -->

# 1. .NET SDK
| OS | Arch | .NET SDK | Dockerfile | `dotnetSdkVersion` | `dotnetSdkChecksum` |
|---------|---------|-------------------------------------------------------------------------|------------------------------------------------------------|--------------------|------------------------------------------------------------------------------------------------------------------------------------|
| Linux | `AMD64` | [.NET Core 3.1](https://dotnet.microsoft.com/en-us/download/dotnet/3.1) | [link](linux/agent/amd/custom.dotnet.sdk.amd.Dockerfile) | `3.1.426` | `6c3f9541557feb5d5b93f5c10b28264878948e8540f2b8bb7fb966c32bd38191e6b310dcb5f87a4a8f7c67a7046fa932cde3cce9dc8341c1365ae6c9fcc481ec` |
Expand All @@ -24,7 +36,6 @@ older versions, we provide examples of building images with custom .NET SDK vers
The folder contains Dockerfiles that simplify this process, allowing you to easily replace any .NET SDK version within the image with a pre-defined one. These Dockerfiles can also be used as templates for installing any custom .NET version.

## 1.1. Building Images

The table above references multiple versions of .NET framework. To build a custom image, specify the required SDK version (`dotnetSdkVersion`) and a checksum for it (`dotnetSdkChecksum`):
```
docker build \
Expand Down Expand Up @@ -64,7 +75,6 @@ docker run teamcity-agent:windows-custom-dotnet-7 dotnet --version
```

# 1.2 .NET End of Support Dates

In the [.NET and .NET Core Support Policy](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core) article, Microsoft states the following end of support dates for .NET:
* **.NET Core 3.1** - December 13th, 2022;
* **.NET 5.0** - May 10th, 2022;
Expand All @@ -74,15 +84,13 @@ In the [.NET and .NET Core Support Policy](https://dotnet.microsoft.com/en-us/pl
We strongly encourage replacing your current .NET versions to newer ones if the support for your current version is nearing its end.

# 2. Podman

This section provides instructions for building and executing TeamCity Docker Images with Podman, suitable for use in both rootless and rootful modes.

Please, note that the latest version of Podman for Ubuntu 20.04 is `Podman 3.4.2`, as indicated by the [libcontainers](https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_20.04/amd64/).

In order to use Podman as a default container runtime in TeamCity, please, set `teamcity.container.wrapper.use.podman=true`.

## 2.1 Building Images

Rootless:
```
$ docker build \
Expand All @@ -101,7 +109,6 @@ $ docker build \
Please, ensure the OS/Arch of Docker image matching the expected host (see: [2.3.1 Inability to execute images with rootful Podman](#231-inability-to-execute-images-with-rootful-podman)).

## 2.2 Execution

### 2.2.1 Rootless Podman in Docker (no '--privileged')
The ability to run Podman-in-Docker in Rootless mode is achieved via the combination of extending the capabilities
of container and `buildserver` user within it.
Expand Down Expand Up @@ -139,10 +146,7 @@ $ docker run -itd --privileged \
```

## 2.3 Podman - troubleshooting

### 2.3.1 Inability to execute images with rootful Podman


**Problem**: When running _rootful Podman-in-Docker_ on a platform whose host platform does not match the detected one,
container execution becomes wouldn't work. This problem arises because overlayFS doesn't function correctly,
causing issues with _CRUN_ and container storage
Expand Down

0 comments on commit b92b393

Please sign in to comment.