using Docker.DotNet;
using Docker.DotNet.Models;
var endpoint = new Uri("unix:///var/run/docker.sock");
var config = new DockerClientConfiguration(endpoint);
var client = config.CreateClient();
var authConfig = new AuthConfig
{
Username = "username",
Password = "password",
ServerAddress = "myprivaterepo.com"
};
await client.Images.CreateImageAsync(
new ImagesCreateParameters
{
FromImage = "myprivaterepo.com/myimage:latest"
},
authConfig,
new Progress()
);
其中,需要将 username
、password
和 myprivaterepo.com
替换为私有仓库的登录信息和地址,myimage:latest
替换为要下载的镜像名称和标签。
sudo usermod -aG docker $(whoami)
using Docker.DotNet;
using Docker.DotNet.Models;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace MyAPI.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class DockerController : ControllerBase
{
private readonly DockerClient _dockerClient;
public DockerController()
{
var endpoint = new Uri("unix:///var/run/docker.sock");
_dockerClient = new DockerClientConfiguration(endpoint).CreateClient();
}
[HttpGet("{repo}/{tag?}")]
public async Task GetImage(string repo, string tag = "latest")
{
var authConfig = new AuthConfig
{
Username = "username",
Password = "password",
ServerAddress =
下一篇:Asp.netAPI未出现