라즈베리파이에 도커를 사용하여 닷넷코어 설치하기

2020. 4. 9. 20:12IT/C#

요즘 C#을 공부하고 있어서 윈폼으로 이것저것 만들어보고 있습니다. IoT 덕분에 배운 MQTT를 이용해서 각 서버간 메시지 교환을 하고 있는데 꽤 재미있더라고요. 그러다가 닷넷코어에 흥미를 갖기 시작했습니다. 어떻게 공부할 까 하다가 인프런에서 asp.net core라는 강좌를 거금 3만 3천원을 주고 수강 했습니다. 비주얼 스튜디오로 따라하면서 실행 해보고 이렇게 웹페이지를 만들수 있구나 감탄했습니다. 그러다가 라즈베리파이에도 닷넷을 설치 할 수 있지 않을까 란 생각이 들었습니다. 가능하다면 도커에 설치해보고 싶었습니다. 찾아본결과 가능!ㅋㅋ 명령어 정리한것을 공개합니다. 

* 도커가 설치된 상태라고 생각하고 진행할게요!

1. 도커 이미지 다운로드 받고 실행해보기
아래 명령어를 입력하면 도커 허브에 있는 이미지를 다운로드 받습니다. 그리고 도커 안으로 들어 갑니다.
docker run --rm -it microsoft/dotnet:2.1-sdk
exit

2. 도커 이미지를 다운로드 받았으니 이제 컨테이너를 만들어 줍니다. 저는 외부 포트는 5000, 내부포트는 80번으로 맞췄습니다.
sudo docker run -it -d --name dotnetcore2 --publish 5000:80 microsoft/dotnet:2.1-sdk

3. 생성된 컨테이너를 실행하고 도커 안으로 들어가봅니다.
sudo docker start dotnetcore2  
sudo docker exec -it dotnetcore2 bash
root@21ca646dfadc:/#

4. 닷넷코어가 제대로 설치되었는지 버전을 확인합니다.  닷넷 코어 2.1이 나오면 정상 설치된것입니다.

5. 실제 Hello World를 출력해봅시다. 아래와 같이 입력을 하면 DOTNET CORE 설치가 제대로 되었음을 확인 할 수 있습니다.

6. 제가 하고 싶은것은 콘솔 프로그램을 돌리는것이 아니고 ASP.NET CORE를 돌려보고 싶습니다. 인프런에서 배운 강좌 예제 파일을 복사해 보겠습니다. 복사하는 방법은 네이티브 폴더에서 도커안으로 복사를 하는 형식으로 하였습니다. (파일 교환이 좀 번거로워요.;;) 명령어 형식은 아래와 같습니다.
sudo docker cp 원본경로 사본경로
예) sudo docker cp . dotnetcore2:/root/dotnetcore

7. 복사가 완료됐으면 asp.net core를 실행합니다. 실행법은 dotnet 파일명.dll 로 하시면됩니다.

8. 웹브라우저에서 웹페이지가 제대로 뜨는지 확인합니다. 잘 뜨네요^^

 

9. control + c 를 누르면 닷넷코어 프로그램이 종료됩니다.

도커를 이용하여 닷넷코어를 설치하는것이 생각보다 간편해서 좋았습니다. 닷넷코어는 IIS없이 그냥 프로그램에서 자체적으로 웹서버가 되므로 설치 및 운용이 매우 간단하네요^^ 오늘 배우는것을 시작하였는데 차근차근 잘 따라해봐야겠습니다. FIN.