netcoer 創建騰訊雲私有鏡像 發佈到docker 實戰 ...
上一篇博客寫的 netcoer上傳到docker ,編譯 併發布,傳送門:FineUICore基礎版部署到docker實戰
這是一種笨方法,理想的方法是,在本地編譯成鏡像,然後推送到鏡像倉庫,伺服器的docker pull 這個鏡像就可以了。
鏡像倉庫有Docker Hub,官網:https://hub.docker.com/,網上很多實例
我今天要用騰訊雲的鏡像倉庫,進入騰訊雲容器服務,下的鏡像倉庫,二話不說先建一個鏡像:
看這個指引,我們需要下載 Docker Desktop for Windows https://hub.docker.com/?overlay=onboarding ,並安裝,具體 Docker Desktop for Windows 的安裝教程請百度,很簡單。
驗證一下本機的docker是什麼版本:docker -v ,結果是:Docker version 19.03.5, build 633a0ea
註意上圖這個地方,不要選擇錯了,要選擇linux 的,否則生成的鏡像,linux的docker不能用
我的netcore項目,Dockerfile文件:
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
ARG source
WORKDIR /publish
EXPOSE 8080
COPY /. /publish
ENTRYPOINT ["dotnet", "pyoa.dll"]
發佈成文件,發佈之前設置一下:我選擇的獨立,core2.2
cmd , 進入bin\Release\netcoreapp2.2 下,敲命令,編譯生成鏡像:
docker build -t pyoa .
註意最後有一個逗點。
生成鏡像時間有點長,成功之後,看一下本機是不是有了這個鏡像: docker images
登陸騰訊雲的鏡像倉庫:
docker login --username=登錄名 ccr.ccs.tencentyun.com
會讓你輸入密碼
登陸成功後,docker tag : 標記本地鏡像,將其歸入某一倉庫。
docker tag pyoa ccr.ccs.tencentyun.com/pyoa/pyoa01
開始上傳:
docker push ccr.ccs.tencentyun.com/pyoa/pyoa01
成功後,打開騰訊雲鏡像倉庫,會發現有了一個鏡像
好了,進入騰訊雲命令行,從騰訊雲鏡像倉庫中獲取 這個鏡像:
一樣的,先要登陸
docker login --username=登陸 ccr.ccs.tencentyun.com
pull 鏡像:
docker pull ccr.ccs.tencentyun.com/pyoa/pyoa01
成功後查看,docker images:
拉取成功了,最後,生成 一個這個鏡像的容器:
docker run --name=pyoa01 -p 8080:80 -d ccr.ccs.tencentyun.com/pyoa/pyoa01
容器的埠是80,映射到伺服器的埠8080.然後 ip+8080.就可以訪問了