目录
本篇主要介绍如何通过VS2022自带的Public功能,配合阿里云镜像仓库,将项目部署至阿里云。
1.准备条件
1、阿里云开通ECS实例 2、安装docker。
这两项网上都有详细教程,此处就不在赘述。
3、开通阿里云容器镜像服务。
- 阿里云控制台--选择容器镜像服务--实例列表 。
- 选择个人实例--创建个人实例,这个用户名就是阿里云账户,设置Rsgistry密码。
- 点击命名空间
- 点击镜像仓库--创建镜像仓库。注意这里的仓库名字和你项目的名字一样
- 点击下一步,选择本地仓库,创建成功
2.容器化项目
网上很多帖子都介绍了如何通过命令行容器化项目并推送至镜像仓库,但VS2022里有更方便的一键化发布方案。
- 右键项目--Add--Docker Support,生成Dockerfile
- 右键项目--Public--Docker Container Registry
- 点击下一步,选择Other Docker Container Registry
- 打开阿里云镜像仓库,选择公网地址,点击复制,注意这里需要把仓库名字删掉,只留包含命名空间的部分。因为在VS2022自动发布会将项目路径和项目名称组合。
- Registry Url:将刚才的公网地址复制到此,User name及Password填入刚才镜像仓库中注册的Rsgistry账号密码。点击Finish。
- 点击Publish,时间会久一点,因为会自动编译,生成镜像,对镜像打Tag,推送至镜像仓库。这一步一般出问题会在推从这里,容易推送失败,排查几个原因:1、账号密码错误。可以通过在命令行中Docker登录看是否可以登录成功验证。2、仓库地址是不是包含了仓库名。在命令行中通过Docker iamges,查看镜像列表中自动生成的镜像名字与公网地址是否一致,一般这个容易出错。
- 如果最终看到Publish succeeded就完成了,可以在镜像仓库中查看推送的镜像。
3.阿里云部署
- 在阿里云容器镜像服务中复制两行指令
- 连接到阿里云服务器,输入命令1,登录docker,输入命令2,拉取镜像。
- 输入:docker run -d --name 容器名字 -p 8080:80 镜像名字。运行。
- 通过Docker ps。
- 打开阿里云服务器ECS--网络与安全--创建安全组,使外部可以访问8080端口。