上一篇博客寫的 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.就可以訪問了