DNF LOVE

[m1 맥북] m1 docker .net core 3.1지원과 5.0 지원 본문

Programming/Server

[m1 맥북] m1 docker .net core 3.1지원과 5.0 지원

botho 2021. 11. 21. 23:28
반응형

m1 맥북은 arm 기반의 intel과는 다른 새로운 아키텍쳐이다.
이 글은, 나 같이 삽질하는 사람이 없길 바라는 마음에서 쓰는 글이다.
m1 맥북에서 docker로 .net core를 올리려고 했다.
현재 내가 참여하고 있는 프로젝트는 .net core 3.1을 사용 했는데 단도직입적으로 말하자면, m1 맥북에는 .net core 3.1은 지원하지 않는다고 한다.
그래서 최소 5.0으로 사용 해야 한다.
docker file은 다음과 같이 사용됐다

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base WORKDIR /app EXPOSE 80 EXPOSE 443 FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build WORKDIR /src COPY ["Lobby/Lobby.csproj", "Lobby/"] RUN dotnet restore "Lobby/Lobby.csproj" COPY . . WORKDIR "/src/Lobby" RUN dotnet build "Lobby.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "Lobby.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "LobbyServer.dll"]

당연한 얘기지만, Dockerfile을 빌드 후 run 시켜줘야 한다. 내가 사용하는 명령어는 아래와 같다.
docker build . -t lobbyserver -f Lobby/Dockerfile

docker network create —driver bridge project-ace

docker run -dit -p 8000:80 -p 8001:443 —name lobbyserver —network project-ace lobbyserver


뭐 열심히 구글링을 해서 --platform=linux/arm64 하라고 되어 있는데, 그걸 넣은 채 빌드를 하게 되면

이런 빌드 오류가 뜬다.
암튼........ m1 docker에서 dotnet 올릴 수 있고 사용할 수도 있지만 만약 닷넷 코어 버전이 3.1 이하이면..
5.0이상으로 마이그레이션 하세요....
삽질기 끗

반응형

'Programming > Server' 카테고리의 다른 글

[Gateway를 구현해보자-1]MAC에서 nginx 설치해보자  (0) 2022.01.31