1.1建立一個.NetCore web項目 項目名爲 testmvc 此處用的是.NetCore2.1版本linux
1.2而且在program裏面設置啓動端口,默認5000web
public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .UseUrls("http://*:8003");
這裏設置爲8003端口docker
1.3 發佈項目,而且在發佈的文件裏面建立一個 Dockerfile 文件centos
1.4 編寫 Dockerfile 文件內容mvc
#基於 `microsoft/dotnet:1.0.0-core` 來構建咱們的鏡像 FROM microsoft/dotnet:2.1-aspnetcore-runtime #拷貝項目publish文件夾中的全部文件到 docker容器中的publish文件夾中 COPY . /publish #設置工做目錄爲 `/publish` 文件夾,即容器啓動默認的文件夾 WORKDIR /publish #設置Docker容器對外暴露8003端口 EXPOSE 8003 #使用`dotnet testmvc.dll`來運行應用程序 CMD ["dotnet", "testmvc.dll", "--server.urls", "http://*:8003"]
1.5 生成docker鏡像,此處是在linux centos環境下生成的ui
此時經過 docker images 能夠看到阿里雲
2.1 在阿里雲建立本身的容器倉庫 https://cr.console.aliyun.com/cn-hangzhou/instances/repositoriesurl
2.2 server
按照阿里雲的提示進行鏡像推送。blog
先登陸,密碼爲阿里雲的帳號密碼
推送鏡像,注意鏡像ID 和版本
這時候能夠在阿里雲的鏡像版本看到本身的版本信息
這裏推送到阿里雲的鏡像完成
3.1
這時候的本地鏡像倉庫就存在阿里雲的版本的鏡像
執行 命令
docker run --name test -d -p 8003:8003 registry.cn-hangzhou.aliyuncs.com/lijiqing/test:1.0.2
版本的回滾指的是,當發佈新的鏡像以後 若是出現bug或者其餘問題,能夠將當前容器關閉,運行以前舊的鏡像
固然能夠用 k8s用來編排管理。