使用Docker搭建.netCore和Angular环境
首先
我有机会使用.NET Core作为后端和Angular作为前端进行开发,所以我决定使用Docker来构建。虽然网上有很多相关信息,但实际操作起来还是有些麻烦,所以我决定记录下具体步骤(省略了Docker本身的安装步骤)。
总结
要做的事情 zuò de
-
- .NetCoreのimageを取得
-
- imageからコンテナを作成
-
- プロジェクト作成
-
- いろいろ入れる
- サーバ起動
做功课 (zuò
获取.NetCore的图像
我从Microsoft官方的DockerHub获取了镜像,
我犹豫不决,不知道应该选择哪一个,但使用dotnet/sdk应该没有问题。
使用docker pull命令获取镜像。
docker pull dotnet/sdk
从图像中创建容器
因为知识不足,我在这里遭遇了很大的困难。在后续的工作中,服务器启动时出现了端口问题,无法从主机端进行访问。
在启动.NetCore时,使用了http:5000和https:5001的端口,并且似乎会自动重定向到https。
我们在创建容器时,允许同时使用5000和5001端口。
docker run --name dotnet -it --mount type=bind,src=$(pwd)/dotnet,dst=/vol -p 5000:5000 -p 5001:5001 mcr.microsoft.com/dotnet/sdk
您可以根据喜好选择安装、命名等方面的选项。
项目创建
随意地创建一个目录并创建.NetCore项目。
在”new”后加上”angular”,将创建一个用于angular的模板项目。
参考链接:https://docs.microsoft.com/ja-jp/aspnet/core/client-side/spa/angular?view=aspnetcore-5.0&tabs=visual-studio
dotnet new angular
多样的东西放进去
节点
由于Angular的运行需要Node.js,所以需要进行安装。
由于在Debian环境下无法直接安装Node,因此参考了以下链接进行安装:
参考:https://qiita.com/naoyukiyama/items/29054cff00923f9543ce
curl -sL https://deb.nodesource.com/setup_10.x | bash
apt install -y nodejs
角度
即使未安装,似乎也能创建Angular项目。
如果你有特定版本的Angular Cli要使用,最好事先指定。
(虽然可以后续升级,但降级将需要重新安装)
npm install -g @angular/cli@11.1.0
启动服务器
這樣就可以啟動了,但為了從主機進行連接,還需要額外的一步。由於開發環境只允許.Net Core從localhost進行訪問,所以需要解除這個限制。
參考:https://mseeeen.msen.jp/asp-net-core-3-allow-access-to-kestrel-from-outside-in-development-mode/
在 appsettings.json 文件中添加 “urls”: “http://:5000;https://:5001″。
{
"urls": "http://*:5000;https://*:5001",
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
开始运行。
dotnet run

