前提条件
安装Docker:确保你的Linux系统上已经安装了Docker。如果没有,请参考官方文档进行安装。
步骤一:准备项目文件
- 将你的.NET项目从Windows系统复制到Linux系统。你可以使用Git、SCP等工具来完成这个操作。
- 如何是使用virtualbox虚拟电脑控制台,可以使用文件管理器使用项目上传:账号密码为ubuntu的登录账号密码
步骤二:创建Dockerfile
在你的.NET项目根目录下创建一个名为Dockerfile
的文件,内容如下:
#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["WebApplication1.csproj", "."]
RUN dotnet restore "./././WebApplication1.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "./WebApplication1.csproj" -c $BUILD_CONFIGURATION -o /app/build
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./WebApplication1.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WebApplication1.dll"]
步骤三:构建Docker镜像
在终端中导航到你的项目目录,然后运行以下命令来构建Docker镜像:
docker build -t webapplication1 .
docker build
: Docker 命令,用于构建镜像。-t webapplication1
: 为生成的镜像指定一个标签(名称),这里使用小写字母。.
: 指定 Dockerfile 所在的路径,这里使用.
表示当前目录。
步骤四:运行Docker容器
使用以下命令来运行Docker容器:
docker run -d -p 5000:80--name webapplication1ontainer webapplication1
这将会在后台运行你的容器,并将主机的5000端口映射到容器的80端口。
docker run
: Docker 命令,用于运行一个新的容器。-d
: 表示在后台运行容器(detached 模式)。-p 5000:80
: 将主机的 5000 端口映射到容器的 80 端口。--name webapplication1container
: 为容器指定一个名称。webapplication1
: 之前构建的镜像名称。
步骤五:验证部署
打开浏览器并访问http://localhost:5000
,你应该能够看到你的.NET应用程序正在运行。
步骤六:其他事项
- 多阶段构建:上述Dockerfile使用了多阶段构建,以减少最终镜像的大小。
- 环境变量:如果你的应用需要配置环境变量,可以使用
-e
参数传递,例如
docker run -d -p 5000:80-e "ASPNETCORE_ENVIRONMENT=Production" --name webapplication1ontainer webapplication1
-
日志查看:如果需要查看容器的日志,可以使用以下命令:
docker logs webapplication1_container
-
停止容器:如果需要停止运行的容器,可以使用以下命令:
docker stop webapplication1_container
-
删除容器:如果需要删除已经停止的容器,可以使用以下命令:
docker rm webapplication1_container