LINUX下使用Docker容器部署.NetCore项目

命令行运行Core接口

随便建个接口

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

LINUX下使用Docker容器部署.NetCore项目

Linux下Docker拉取Core依赖镜像

docker pull mcr.microsoft.com/dotnet/core/aspnet:latest

先发布后部署

将发布文件夹内的文件上传到Linux下的指定文件夹

我传到了linux根目录下的/CoreHello/publish中
LINUX下使用Docker容器部署.NetCore项目
执行以下命令:

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下使用Docker容器部署.NetCore项目

测试接口
记得把云服务器或主机的指定端口打开。
LINUX下使用Docker容器部署.NetCore项目

DockerFile部署

给项目添加docker支持,选择linux,自动生成dockerFile文件。

LINUX下使用Docker容器部署.NetCore项目

整个项目上传到Linux

将整个解决方案的文件夹都上传到linux下。
我上传到了linux根目录下/CoreHello/ProjectDockerFile内。
LINUX下使用Docker容器部署.NetCore项目

cd到dockerfile文件所在的目录
通过dockerfile文件创建包含core接口的容器的镜像

docker build -t coreapi.101 -f Dockerfile .

创建容器实例(物理机的8082端口映射到容器的80端口)

docker run -itd -p 8082:80 coreapi.101

查看容器创建情况
LINUX下使用Docker容器部署.NetCore项目

测试接口
LINUX下使用Docker容器部署.NetCore项目

上一篇:Win10下NetCore创建Dockers及镜像的导出应用


下一篇:WPF如何在WriteableBitmap写文字