随便建立一个项目
一个测试控制器,.两个测试方法
写入 dockerfile 内容
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
ENV ASPNETCORE_URLS http://+:80
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ARG BUILD_CONFIGURATION=Release
COPY . /app
WORKDIR /app
EXPOSE 80
ENTRYPOINT ["dotnet", "alownilowApi.dll"]
ENV ASPNETCORE_URLS http://+:80 标记容器的内部启动端口 默认端口是80 可以自己改
//设置语言
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
//文件拷贝到目录 /app 中
COPY . /app
//进入目录
WORKDIR /app
EXPOSE 80
//启动相应项目
ENTRYPOINT ["dotnet", "alownilowApi.dll"]
然后右键项目发布 生成文件
这时候 把文件随便放在服务器上的一个文件夹下面
在对应目录执行 docker build -t xxx . 创建镜像 注意 xxx后面有个 点 .
其中 xxx 是你的镜像名称
这个就是我创建的镜像了
然后就开始创建容器了
docker run -it -d --name alownilow -p 8001:80 -v /api/test:/app alownilow
把端口映射成8081 然后 将内部的app 文件挂载在外部的 api/test的文件下
这时候 注意 提前在外部建立好对应的文件夹 然后吧刚刚生成的文件 复制进去
这时候容器就建立成功
因为我这里后面又配置了域名转发 挂了swagger
你们只需要地址:端口 就可以访问了