使用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

這樣就獲取成功了。

相關文章
相關標籤/搜索