EEC User Manual
0.前提
- 开发机内安装 Docker Desktop
1.如果没有Portainer
解决方案:
用远程管理接口 example:2375
- 直接启动portainer容器并下载,EEC要联网
docker -H 192.168.1.102:2375 run -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock -v /data portainer/portainer-ce
其中: - -H 为远程管理,由开发机管理 EEC内的docker - 192.168.1.102:2375 替换为实际 [ip]:[port]
2.制作 asp.net core项目
2.1 Dockerfile
# Learn about building .NET container images:
# https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md
# build copies all project files and restores NuGet packages
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0 AS build
ARG TARGETARCH
WORKDIR /source
# Copy project file and restore as distinct layers
COPY --link HSpeedTrendServer/*.csproj HSpeedTrendServer/
# add other dependency project
#COPY --link libfoo/*.csproj libfoo/
#COPY --link libbar/*.csproj libbar/
RUN dotnet restore -a $TARGETARCH HSpeedTrendServer/HSpeedTrendServer.csproj
# Copy source code and publish app
COPY --link HSpeedTrendServer/ HSpeedTrendServer/
#COPY --link libfoo/ libfoo/
#COPY --link libbar/ libbar/
# publish builds and publishes complexapp
FROM build AS publish
WORKDIR /source/HSpeedTrendServer
RUN dotnet publish -a $TARGETARCH --no-restore -o /app
# final is the final runtime stage for running the app
#Other amd64
#FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/runtime:9.0 AS final
# EEC Platform arm64v8
FROM mcr.microsoft.com/dotnet/aspnet:9.0.4-bookworm-slim-arm64v8
# export port
EXPOSE 8080
EXPOSE 21000/udp
WORKDIR /app
COPY --link --from=publish /app .
USER $APP_UID
ENTRYPOINT ["dotnet", "HSpeedTrendServer.dll"]
其中:
- HSpeedTrendServer 替换为实际项目名称及路径
2.2 生成Image
cd到 项目目录
docker buildx build -t eec_hspeed:eec-dev --platform=linux/arm64 .
2.3 保存Image
docker save -o eec_hspeed.tar eec_hspeed:eec-dev
3.Docker 命令
- 查看镜像
docker -H 192.168.1.102:2375 images