windows10+docker+.netcore+nginx 简单部署
1、下载并安装docker for windows
-
-
开启windows10虚拟化
-
2、新建.netcore webapi程序
-
-
不配置https、启用docker支持
-
发布到IIS,验证程序是否正常
-
3、配置dockerfile文件
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 8001
EXPOSE 443
COPY . .
ENV ASPNETCORE_URLS http://+:8001
ENTRYPOINT ["dotnet", "MicroApp.dll"]
配置完成后右键此DockerFile文件,选择属性,选择“如果较新则复制”。
4、生成docker images
-
-
管理员权限运行CMD,进入程序的生成目录下
..\MicroApp\MicroApp\bin\Release\netcoreapp3.1\public -
运行
docker build -t microapp:1.0 .等待命令完成![]()
-
docker images 命令查看镜像文件
![]()
-
5、创建并启动容器
-
-
启动容器1
docker run -d -p 7001:8001 --name microapp7001 microapp:1.0 -
启动容器2
docker run -d -p 7002:8001 --name microapp7002 microapp:1.0 -
查看容器
docker ps![]()
-
6、下载并配置nginx
-
-
查看docker ip
![]()
-
配置nginx,并重新加载配置
nginx -s relaodupstream testdocker{
• server 10.0.75.1:7001 weight=1;
• server 10.0.75.1:7002 weight=1;
}
server {
• listen 8001;
• server_name localhost;
• #charset koi8-r;
• #access_log logs/host.access.log main;
• location / {
• #root html;
• #index index.html index.htm;
• proxy_pass http://testdocker;
• # 显示具体负载的机器的ip,X-Route-Ip随便命名
• add_header X-Route-Ip $upstream_addr;
• add_header X-Route-Status $upstream_status;
• }
• #error_page 404 /404.html;
• # redirect server error pages to the static page /50x.html
• #
• error_page 500 502 503 504 /50x.html;
• location = /50x.html {
• root html;
• }
}
7、测试nginx负载均衡
-
-
浏览器中输入http://localhost:8001/WeatherForecast,打开开发人员工具,查看访问的ip和端口号
![]()
- 两次访问,返回不同的端口号,说明负载配置成功。
-





浙公网安备 33010602011771号