Open
Description
hi,
try to run the self-hosted runner on IPv6 only system. Runner runs fine on the system and connected thanks to nat64 to github.
Docker config on the host:
{
"ipv6": true,
"ip6tables": true,
"experimental": true,
"fixed-cidr-v6": "fd00::/64",
"default-address-pools": [
{ "base": "172.17.0.0/16", "size": 16 },
{ "base": "172.18.0.0/16", "size": 16 },
{ "base": "172.19.0.0/16", "size": 16 },
{ "base": "172.20.0.0/14", "size": 16 },
{ "base": "172.24.0.0/14", "size": 16 },
{ "base": "172.28.0.0/14", "size": 16 },
{ "base": "192.168.0.0/16", "size": 20 },
{ "base": "fd01::/64", "size": 112 }
]
}
But all container networks created via action runner are always without IPv6. See your code:
public async Task<int> DockerNetworkCreate(IExecutionContext context, string network)
{
#if OS_WINDOWS
return await ExecuteDockerCommandAsync(context, "network", $"create --label {DockerInstanceLabel} {network} --driver nat", context.CancellationToken);
#else
return await ExecuteDockerCommandAsync(context, "network", $"create --label {DockerInstanceLabel} {network}", context.CancellationToken);
#endif
There is no possible way to inject --ipv6 to it.
Docker has no config flag to enable it by default
Solution add a config option to enable ipv6 on network create.
Activity