From b92b393f6eb44f325218281a2cb4a54a524f34e1 Mon Sep 17 00:00:00 2001 From: AndreyKoltsov1997 Date: Wed, 11 Oct 2023 14:44:58 +0200 Subject: [PATCH] Add TOC. --- custom/README.md | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/custom/README.md b/custom/README.md index 6640bb00d..931078765 100644 --- a/custom/README.md +++ b/custom/README.md @@ -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 + +* [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) + +# 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` | @@ -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 \ @@ -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; @@ -74,7 +84,6 @@ 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/). @@ -82,7 +91,6 @@ Please, note that the latest version of Podman for Ubuntu 20.04 is `Podman 3.4.2 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 \ @@ -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. @@ -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