使用Docker发布DNC项目
項目結(jié)構(gòu)
可以忽略中間三個Console項目
ApiCenter?是一個WebAPI項目,引用了NLog.MQ項目
?ApiCenter使用5001端口
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" };}?
將項目文件夾發(fā)送到CentOS(10.15.4.156)中
新建一個Dockerfile,這里已經(jīng)有了
編輯內(nèi)容
FROM microsoft/dotnetWORKDIR /app# copy everything else and build COPY . ./ RUN dotnet restore RUN cd ApiCenter RUN dotnet publish -c Release -o outEXPOSE 5001ENTRYPOINT ["dotnet", "ApiCenter/out/ApiCenter.dll"]或者使用下面的內(nèi)容
FROM microsoft/dotnetWORKDIR /app# copy everything else and build COPY . ./ RUN cd ApiCenter RUN dotnet restore RUN dotnet publish -c Release -o outEXPOSE 5001ENTRYPOINT ["dotnet", "ApiCenter/out/ApiCenter.dll"]?
打包鏡像
docker build -t apicenter:1.0 .可以看到打包過程
成功后查看鏡像
運行鏡像
docker run -d -p 5001:5001 apicenter:1.0查看容器狀態(tài)
打開瀏覽器訪問即可
?搭建本地鏡像私有倉庫
下載registry鏡像
docker pull registry修改配置文件
vi /etc/docker/daemon.json內(nèi)容如下
{"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/?中查看
?現(xiàn)在換一臺服務器,比如10.15.4.155
獲取鏡像
docker pull 10.15.4.156:5000/mythsky/registry這樣就獲取成功了。
轉(zhuǎn)載于:https://www.cnblogs.com/uptothesky/p/9182458.html
總結(jié)
以上是生活随笔為你收集整理的使用Docker发布DNC项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言用for语句实现循环
- 下一篇: 银屑病推荐益生菌摄入(持续更新中)