コード例 #1
0
ファイル: ImageData.cs プロジェクト: zarumaru/dotnet-docker
 protected void PullImageIfNecessary(string imageName, DockerHelper dockerHelper, bool allowPull = false)
 {
     if ((Config.PullImages || allowPull) && !_pulledImages.Contains(imageName))
     {
         dockerHelper.Pull(imageName);
         _pulledImages.Add(imageName);
     }
     else
     {
         Assert.True(DockerHelper.ImageExists(imageName), $"`{imageName}` could not be found on disk.");
     }
 }
コード例 #2
0
        public string GetImage(DotNetImageType imageType, ImageData imageData)
        {
            string imageName = $"{s_repoName}:{imageData.GetTag(imageType)}";

            if (s_isLocalRun)
            {
                Assert.True(DockerHelper.ImageExists(imageName), $"`{imageName}` could not be found on disk.");
            }
            else
            {
                _dockerHelper.Pull(imageName);
            }

            return(imageName);
        }
コード例 #3
0
        public string GetImage(DotNetImageType imageType, DockerHelper dockerHelper)
        {
            string imageName = GetImageName(imageType);

            if (!Config.IsLocalRun && !_pulledImages.Contains(imageName))
            {
                dockerHelper.Pull(imageName);
                _pulledImages.Add(imageName);
            }
            else
            {
                Assert.True(DockerHelper.ImageExists(imageName), $"`{imageName}` could not be found on disk.");
            }

            return(imageName);
        }
コード例 #4
0
        public string GetDotNetImage(DotNetImageType imageType, ImageData imageData)
        {
            string imageVersion;
            string osVariant;
            string variantName = Enum.GetName(typeof(DotNetImageType), imageType).ToLowerInvariant().Replace('_', '-');

            switch (imageType)
            {
            case DotNetImageType.Runtime:
            case DotNetImageType.AspNetCore_Runtime:
                imageVersion = imageData.DotNetVersion;
                osVariant    = imageData.OsVariant;
                break;

            case DotNetImageType.Runtime_Deps:
                imageVersion = imageData.RuntimeDepsVersion;
                osVariant    = imageData.OsVariant;
                break;

            case DotNetImageType.SDK:
                imageVersion = imageData.SdkVersion;
                osVariant    = imageData.SdkOsVariant;
                break;

            default:
                throw new NotSupportedException($"Unsupported image type '{variantName}'");
            }

            string imageName = $"{s_repoName}:{imageVersion}-{variantName}-{osVariant}";

            if (imageData.IsArm)
            {
                imageName += $"-arm32v7";
            }

            if (s_isLocalRun)
            {
                Assert.True(DockerHelper.ImageExists(imageName), $"`{imageName}` could not be found on disk.");
            }
            else
            {
                _dockerHelper.Pull(imageName);
            }

            return(imageName);
        }