1.创建 Dockerfile 文件
1 2 3 4 5 6 7 8 9 10 11
| FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base COPY . /publish WORKDIR /publish EXPOSE 80
ENV ASPNETCORE_URLS=http://+:5001
ENTRYPOINT ["dotnet", "dotnet-project.dll"]
|
2.创建 start.sh 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| # 容器名称 APP="api" VERSION="v1" IMAGE=$APP:$VERSION DOCKER_NAME="$APP_$VERSION" # Dockerfile 文件路径 APP_DIR="/home/apps/csharp/api/publish/Dockerfile" # 项目编译后的 dll 文件路径 PUBLISH_DIR="/home/apps/csharp/api/publish" echo "--- delete container and image ---" # 停止并删除容器和镜像 docker stop $DOCKER_NAME docker rm $DOCKER_NAME docker rmi $IMAGE echo "+++ build docker images" # 重新构建镜像 docker build -t $IMAGE . echo "--- run docker images ---" # 启动容器 CONTAINER_ID=`docker run -dit -p 7229:7229 --name=$DOCKER_NAME --restart=always -v $PUBLISH_DIR:/publish $IMAGE` #docker logs -f $CONTAINER_ID
|
3.部署项目
将发布后的文件夹上传到服务器后, 在项目文件夹下执行如下指令即可将项目部署到 docker 中