Docker og C#

Docker og C#

Man kan tilgå docker med remote api'et. Microsoft har smadret en klient sammen, som kan findes her (Jeg har blogget om det før).

Hvis du rigtig gerne vil smide miljøvariabler med til din container, kan du gøre det således

    using System;
    using System.Collections.Generic;
    using System.Threading.Tasks;
    using Docker.DotNet;
    using Docker.DotNet.Models;


    namespace Test
    {
        class Program
        {
            static async Task Main(string[] args)
            {
                DockerClient client = new DockerClientConfiguration(new Uri("unix://var/run/docker.sock"))
                    .CreateClient();

                await client.Images.CreateImageAsync(
                    new ImagesCreateParameters
                    {
                        FromImage = "hello-world",
                        Tag = "latest"
                    },
                    null,
                new Progress<JSONMessage>());

                await client.Containers.CreateContainerAsync(new CreateContainerParameters
                {
                    Image = "hello-world:latest",
                    Name ="my-hello-world",
                    Env = new List<String>
                    {
                        "hello=world"
                    }
                });
            }
        }
    }

Du får derved en container med HELLO=world

__GHOST_URL__/content/images/2021/04/image-5.png

Smart!!

Grunden til at jeg blogger om det er at dokumentationen på deres github ikke er helt up-to-date. Nu ved i det! Brug det med omtanke: man kunne komme til at lave noget fedt, hvis man ikke passer på.

comments powered by Disqus