使用Docker发布DNC项目

项目结构sql

能够忽略中间三个Console项目docker

ApiCenter 是一个WebAPI项目,引用了NLog.MQ项目json

 ApiCenter使用5001端口api

public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .UseKestrel(options=>options.Listen(IPAddress.Any,5001))
                .ConfigureLogging(logging =>
                {
                    logging.ClearProviders();
                    logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
                })
                .UseNLog()
                .Build();
View Code

一个简单的ValuesController浏览器

// GET api/values
        [HttpGet]
        public IEnumerable<string> Get()
        {
            //string sql = GetViewSQL("viewbiz", 1, 1, "*", null, null);
            return new string[] { "value1", "value2" };
        }

 

将项目文件夹发送到CentOS(10.15.4.156)中服务器

新建一个Dockerfile,这里已经有了app

编辑内容ide

FROM microsoft/dotnet

WORKDIR /app

# copy everything else and build
COPY . ./
RUN dotnet restore
RUN cd ApiCenter
RUN dotnet publish -c Release -o out

EXPOSE 5001

ENTRYPOINT ["dotnet", "ApiCenter/out/ApiCenter.dll"]

或者使用下面的内容测试

FROM microsoft/dotnet

WORKDIR /app

# copy everything else and build
COPY . ./
RUN cd ApiCenter
RUN dotnet restore
RUN dotnet publish -c Release -o out

EXPOSE 5001

ENTRYPOINT ["dotnet", "ApiCenter/out/ApiCenter.dll"]

 

打包镜像ui

docker build -t apicenter:1.0 .

能够看到打包过程

成功后查看镜像

运行镜像

docker run -d -p 5001:5001 apicenter:1.0

查看容器状态

打开浏览器访问便可

 搭建本地镜像私有仓库

下载registry镜像

docker pull registry

修改配置文件

vi /etc/docker/daemon.json

内容以下

{
    "graph": "/neworiental/data/docker",
    "insecure-registries":["10.15.4.156:5000"]
}

重启docker

systemctl daemon-reload
systemctl restart docker

启动registry

docker run -d -p 5000:5000 -v /neworiental/myregistry:/var/lib/registry registry

这里将/var/lib/registry目录挂载到自定义目录/neworiental/myregistry

修改一个镜像名称,这里直接用registry测试

docker tag registry 10.15.4.156:5000/mythsky/registry

须要注意这里使用ip+port的前缀命名

访问http://10.15.4.156:5000/v2/_catalog,此时能够看到镜像仓库为空

推送镜像

docker push 10.15.4.156:5000/mythsky/registry

再次查看浏览器

这样就推送成功了,在目录/neworiental/myregistry/docker/registry/v2/repositories/mythsky/ 中查看

 如今换一台服务器,好比10.15.4.155

获取镜像

docker pull 10.15.4.156:5000/mythsky/registry

这样就获取成功了。

相关文章
相关标签/搜索