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用来编排管理。