netcore 创建腾讯云私有镜像 发布到docker 实战
上一篇博客写的 netcoer上传到docker ,编译 并发布,传送门:fineuicore基础版部署到docker实战
这是一种笨方法,理想的方法是,在本地编译成镜像,然后推送到镜像仓库,服务器的docker pull 这个镜像就可以了。
镜像仓库有docker hub,官网:,网上很多实例
我今天要用腾讯云的镜像仓库,进入腾讯云容器服务,下的镜像仓库,二话不说先建一个镜像:
看这个指引,我们需要下载 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.就可以访问了