基础用法
1. 安装Docker
首先,确保你的Ubuntu系统上安装了Docker。可以通过以下命令安装Docker:
sudo apt update
sudo apt install docker.io
安装完成后,启动Docker并设置为开机自启:
sudo systemctl start docker
sudo systemctl enable docker
2. 创建.NET 6应用程序
如果你还没有.NET 6应用程序,可以使用以下命令创建一个新的控制台应用程序:
dotnet new console -n MyDotNetApp
cd MyDotNetApp
3. 创建Dockerfile
在你的应用程序目录中,创建一个名为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"]
4. 构建Docker镜像
在应用程序目录中,运行以下命令构建Docker镜像:
docker build -t mydotnetapp .
5. 运行Docker容器
构建完成后,可以使用以下命令运行Docker容器:
docker run --rm mydotnetapp
6. 验证应用程序
如果一切正常,你的.NET 6应用程序应该会在Docker容器中运行并输出结果。
7. 其他配置
如果需要暴露端口或挂载卷,可以在docker run命令中添加相应的参数。例如,暴露5000端口:
docker run -p 5000:80 --rm mydotnetapp
这样,你就可以在浏览器中访问http://localhost:5000来查看你的应用程序。
以上就是在Ubuntu系统上使用Docker部署.NET 6程序的基本步骤。
扩展用法
1. 导出Docker镜像
docker save -o mydotnetapp.tar mydotnetapp
2. 将镜像文件传输到Linux系统
使用SCP、FTP或其他文件传输工具将mydotnetapp.tar文件传输到你的Linux系统
3. 在Linux系统上导入Docker镜像
docker load -i mydotnetapp.tar
4. 运行Docker容器
docker run --rm mydotnetapp
常用指令
docker images
docker build -t dascase .
docker save -o dascase.tar dascase
docker load -i dascase.tar
docker run -p 6501:6501 --rm dascase
Dockerfile
# 声明容器在运行时监听的端口
EXPOSE 6501
# 复制SQLite数据库文件到容器中
COPY Data.db ./