admin管理员组文章数量:1578033
镜像制作
- 1. 安装VS Code
- 2. 在ubuntu 22.04中安装dotnet-sdk-7.0
- 3. VS Code远程连接云服务器(没有云服务器的可以继续使用Ubuntu22.04)
- 3.1 安装remote-ssh 插件
- 3.2 打开ssh配置文件
- 3.3 填写配置信息
- 3.3.1 在配置文件修改一劳永逸
- 3.4 VS Code里安装插件C#和Docker并安装到linux环境中
- 4. 创建.NET Web项目
- 5. 生成launch.json文件
- 6. 将 Docker 文件添加到项目中,并创建镜像
- 7. 登录Azure云平台查看注册表(需要购买服务)
- 8. 推送容器映像到注册表
- 9. 在容器注册表查看镜像,拉取镜像运行
1. 安装VS Code
按官方网页中的指南安装VSCode:https://code.visualstudio/
2. 在ubuntu 22.04中安装dotnet-sdk-7.0
若出现下载速度过慢的情况可以尝试更换镜像源
更换镜像源的文章链接https://blog.csdn/zhr2376494700/article/details/134991765?spm=1001.2014.3001.5501
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-7.0
3. VS Code远程连接云服务器(没有云服务器的可以继续使用Ubuntu22.04)
执行使用下命令可以使用code .命令打开vscode
sudo apt-get install wget ca-certificates
3.1 安装remote-ssh 插件
在插件市场安装即可
3.2 打开ssh配置文件
通常可以在vscode中摁下crtl+shift+p唤醒命令提示,输入ssh查找修改ssh配置文件(该文件一般是C:/user/ssh/.config)
3.3 填写配置信息
3.3.1 在配置文件修改一劳永逸
Host {主机代号}
HostName {主机ip}
User {用户名}
或者
ssh 主机名@IP
或者
ssh -l 主机名 IP
3.4 VS Code里安装插件C#和Docker并安装到linux环境中
4. 创建.NET Web项目
这一步命令如果提示找不到XX文件夹的,建议弄个云服务器或者装虚拟机。因为博主也没弄出来,望大神在评论区赐教
dotnet new blazorserver
5. 生成launch.json文件
VS Code 同样可以从键盘访问。 要知道的最重要的组合键是 Ctrl+Shift+P,它会调出命令面板。选择 .NET: Generate Assets for Build and Debug。选择.Net Core环境:生成launch.json和task.json文件。
6. 将 Docker 文件添加到项目中,并创建镜像
打开命令面板 (Ctrl+Shift+P) 并使用 Docker: Add Docker Files to Workspace… 命令
当提示应用程序平台时,选择 .NET: ASP.NET Core。
当提示选择操作系统时,选择Linux。
将应用程序端点的端口更改为 5000。
系统会询问您是否要添加 Docker Compose 文件,选择“是”。
构建镜像
sudo docker compose build
查看镜像
sudo docker images
7. 登录Azure云平台查看注册表(需要购买服务)
地址:https://portal.azure/
账号:XXX
此次查看为了获取以下信息
登录服务器:XXXXX.azurecr
用户名 XXXX
密码 XXXX
8. 推送容器映像到注册表
登录容器注册表,用命令 sudo docker login XXXX.azurecr
为容器镜像改名,使用命令(名字前面的注册表服务器单纯是命名约定):
sudo docker tag {镜像旧名字} XXXX.azurecr/{镜像名字}
sudo docker push XXXXX.azurecr/{镜像名字}
9. 在容器注册表查看镜像,拉取镜像运行
使用命令:
sudo docker pull XXXXX.azurecr/{镜像名字}
sudo docker run -p 5000:{ 镜像中Web应用服务端口} XXXXXX.azurecr/{镜像}
版权声明:本文标题:windows下制作镜像教程 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727835481a1132728.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论