从零开始,在阿里云,腾讯云centos8系统上,利用docker部署asp.net core项目的一次实践,总结

第一部分:注意事项,前言

注意点:建议选择centos8系统,安装docker建议安装最新,详细见下文,非常重要

注意点:建议选择centos8系统,安装docker建议安装最新,详细见下文,非常重要

注意点:建议选择centos8系统,安装docker建议安装最新,详细见下文,非常重要

利用vs2019生成Dockerfile文件,它是和项目文件在同一个目录下,需要将Dockerfile单独放在父一级别下 

利用vs2019生成Dockerfile文件,它是和项目文件在同一个目录下,需要将Dockerfile单独放在父一级别下 

利用vs2019生成Dockerfile文件,它是和项目文件在同一个目录下,需要将Dockerfile单独放在父一级别下 

博主一开始为省事,安装centos7,配合yum install docker安装,是1.12,或是1.13版本,无法支持一些Dockerfile文件一些新的语法,尤其是vs2019自动生成的Dockerfile,时候根据教程升级docker版本,出现各种问题,花了很多时间精力,关键是还没找到解决办法,最后重装云主机操作系统,如果是生产环境,后果可想而知

关于腾讯云,需要添加yum源

yum update

yum install epel-release -y

yum clean all

yum list

详细见https://cloud.tencent.com/document/product/213/46000

第二部分:安装最新版docker

接下来安装最新版本docker,

 第一步:卸载docker,并更新yum

sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
sudo yum remove -y docker-*
sudo yum update
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast

如果在安装过程中出现如下错误:

yum makecache: error: argument timer: invalid choice: ‘fast’ (choose from ‘timer’)

这说明centos8没有该参数,解决办法为:去掉fast参数,就可以了

第二步:

yum install docker-ce-3:18.09.9-3.el7.x86_64

如果在安装时出现如下错误:
Problem: package docker-ce-3:18.09.9-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed

1)安装wget指令

yum install wget

2)获取rpm包

wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

3)升级containerd.io(安装rpm包)

yum -y install containerd.io-1.2.6-3.3.el7.x86_64.rpm

4)重新安装docker-ce

yum install docker-ce-3:18.09.9-3.el7.x86_64

参考这位博主,帮了非常大的忙,https://www.cnblogs.com/lhd1998/p/13297229.html?utm_source=tuicool

第三部分:安装相关工具包,上传项目文件

yum install lrzsz

执行rz命令,配合xshell6等工具,上传本地文件到服务器

博主:一开始想用rar unrar命令,无奈始终无法下载成功,这里多一句嘴,利用vs2019生成Dockerfile文件,它是和项目文件在同一个目录下,需要将Dockerfile单独放在父一级别下 

yum install zip

yum install unzip

执行 unzip 命令,解压到当前文件

博主在root目录下,新建coredir文件,将项目文件父目录和Dockerfile移动到这个文件

第四部分:安装相关运行core的环境,生成镜像,运行镜像生成容器,完毕

sudo dnf install dotnet-sdk-3.1

https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-centos

执行:Dockerfile文件中

测试生成和发布,在DockerCreateImageTest.csproj文件所在目录下,执行,避免提示找不到对应文件

dotnet build "DockerCreateImageTest.csproj" -c Release -o /app/build

dotnet publish "DockerCreateImageTest.csproj" -c Release -o /app/publish

测试环境安装成功

生成镜像,在dockerfile文件所在目录下,执行,避免提示找不到dockerfile文件

docker build -t coreprogram .

-t参数,coreprograme名字 后面还有一个.是当前目录

耐心等待即可,如果出现timeout超时,

https://mcr.microsoft.com/v2/dotnet/core/aspnet/manifests/3.1-buster-slim: net/http: TLS handsha

替换仓库镜像地址即可

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://x63sswze.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docke

备注:如果镜像加速地址是博主本人的,如果自己制作加速镜像,参考

https://blog.csdn.net/weixin_43569697/article/details/89279225?utm_medium=distribute.pc_relevant.none-task-blog-title-1&spm=1001.2101.3001.4242

 

docker run -d -P coreprogram coreprogram_xw

运行镜像,生成容器,如图开启云主机对应端口,浏览器访问:http:ip:32769即可看到内容

 

最后大功告成!!!

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值