利用Ubuntu Docker部署应用的步骤如下:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [archamd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
sudo docker run hello-world
如果一切正常,你将看到一个欢迎消息,表示Docker已成功安装在Ubuntu上。
在你的应用程序目录中,创建一个名为 Dockerfile
的文件,并添加以下内容:
# 使用官方的 .NET 6 SDK 镜像作为构建环境
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /app
# 复制 csproj 并还原依赖
COPY *.csproj ./
RUN dotnet restore
# 复制所有文件并构建应用
COPY . ./
RUN dotnet publish -c Release -o out
# 使用官方的 .NET 6 运行时镜像作为运行环境
FROM mcr.microsoft.com/dotnet/aspnet:6.0
WORKDIR /app
COPY --from=build /app/out ./
# 设置容器启动时运行的命令
ENTRYPOINT ["dotnet", "MyDotNetApp.dll"]
在应用程序目录中,运行以下命令构建Docker镜像:
docker build -t mydotnetapp .
构建完成后,可以使用以下命令运行Docker容器:
docker run --rm mydotnetapp
如果一切正常,你的.NET 6应用程序应该会在Docker容器中运行并输出结果。
如果需要暴露端口或挂载卷,可以在 docker run
命令中添加相应的参数。例如,暴露5000端口:
docker run -p 5000:80 --rm mydotnetapp
这样,你就可以在浏览器中访问 http://localhost:5000
来查看你的应用程序。
以上步骤展示了如何在Ubuntu系统上安装Docker,创建一个简单的.NET 6应用程序,并将其部署到Docker容器中。你可以根据自己的应用需求调整Dockerfile和运行命令。