随便建个接口
using Microsoft.AspNetCore.Mvc; namespace EasyCore.API.Controllers { public class DemoController : ControllerBase { /// <summary> /// 最精简:测试是否调通 /// </summary> /// <returns></returns> public ActionResult HelloWorld() { return Ok("调用成功"); } } }
发布后,在命令行中cd到该目录,执行对应项目的dll
前者使用launchsettings.json内配置的url与端口。后者使用指定url与端口。
dotnet EasyCore.API.dll
或
dotnet EasyCore.API.dll --urls="http://*:8888" --port=8888
docker pull mcr.microsoft.com/dotnet/core/aspnet:latest
我传到了linux根目录下的/CoreHello/publish中
执行以下命令:
docker run -d --name="CoreApi001" -p 8083:80 -v /CoreHello/publish:/app --workdir /app mcr.microsoft.com/dotnet/core/aspnet dotnet /app/EasyCore.API.dll
run:创建新容器
-d:后台运行该容器
--name:给容器命名(CoreApi001)
-p:指定端口映射(物理机的8083端口,映射到这个容器的80端口)
-v:挂载目录(将物理机的/CoreHello/publish目录,挂载到容器的/app目录)
--workdir:设置容器的工作目录(/app)
最后通过命令行运行
Docker命令参考:
https://www.runoob.com/docker/docker-run-command.html
测试接口
记得把云服务器或主机的指定端口打开。
将整个解决方案的文件夹都上传到linux下。
我上传到了linux根目录下/CoreHello/ProjectDockerFile内。
cd到dockerfile文件所在的目录
通过dockerfile文件创建包含core接口的容器的镜像
docker build -t coreapi.101 -f Dockerfile .
创建容器实例(物理机的8082端口映射到容器的80端口)
docker run -itd -p 8082:80 coreapi.101
查看容器创建情况
测试接口