.NET Core 프로젝트 Dockerizing

모든 개발자가 Dockerizing에 대해 알아야하는 이유

.NET Core + Docker = 개발자 경험 ++ 🚀

새로운 개발자가 팀에 합류하면 곧 수용하도록 하는 것이 중요합니다 . 우리는 신입 사원 통합 프로세스를 "온 보딩"이라고합니다. 개발자를위한 온 보딩 프로세스에는 몇 가지 특징이 있습니다.

개발자 온 보딩은 일반적으로 다음으로 구성됩니다.

  • 새로운 동료 및 팀원에 대해 알아보기
  • 그가 사용할 시스템에 대해 알아보십시오.
  • 기술 장비 수령 (노트북, 마우스, 키보드…)
  • 개발 환경 설정. 😨 😫

이러한 어려움은 여러 가지 이유로 발생할 수 있으며 가장 일반적인 두 가지를 나열 할 수 있습니다.

  • 나머지 팀 (Linux, Windows, Mac OS)과 다른 OS를 사용하는 신규 개발자.
  • 동일한 시스템에 둘 이상의 플랫폼 버전이 공존합니다 (특히 풀 스택 개발자는 이러한 문제를 겪습니다).

구조에서 Dockerizing

점점 더 인기를 얻고있는 기술을 Dockerizing 이라고 합니다 . Dockerizing 기술은 개발자에게 필요한 유일한 플랫폼으로 Docker를 사용하는 것으로 구성됩니다. 개발자는 언어 플랫폼을 설치하는 대신 Docker 만 설치하고 사용합니다 .

도커 컨테이너에서 해당 애플리케이션을 테스트, 빌드, 실행 및 배포합니다. 개발 기계를 "오염"시키지 않고 많은 플랫폼을위한 프로젝트를 개발할 수 있다는 것 외에도.

이를 더 잘 구체화하기 위해이 기술을 사용하여 Dockerized .NET Core 프로젝트를 만들어 보겠습니다. 마이크로 서비스에 대한 Microsoft의 자습서를 따르십시오 .

1. Docker를 사용하여 프로젝트 부트 스트랩

이 과정에서 Docker 이미지를 사용하여 컨테이너 내부에서 프로젝트를 만들고 다시 docker cp호스트로 복사합니다 ( ).

아래 스크립트에는 이에 필요한 명령이 포함되어 있습니다.

2. GIT 저장소 초기화

다음 단계는 생성 된 폴더에 들어가서 GIT 저장소를 초기화하고 VS Code를 여는 것입니다. 이렇게하면 git 히스토리에서 튜토리얼의 다음 단계를 추적 할 수 있습니다.

$ cd dockerized-dotnet
$ git init
$ code .

WeatherForecast 마이크로 서비스가 성공적으로 부트 스트랩되었습니다!

3. 프로젝트 실행

Docker를 사용하여 프로젝트를 부트 스트랩하는 것과 같은 방식입니다. 이를 사용하여 프로젝트를 빌드하고 실행할 수 있습니다.

먼저 실행 가능한 ".dll"을 빌드하고 생성하고 앱을 시작하는 Dockerfile을 만들어 보겠습니다.

Dockerfile 내에서 dotnetCLI를 사용하여 몇 가지 명령을 볼 수 있습니다 . 우리는 전화 restore(4 호선) 종속성을 다운로드하고 실행 전화 dockerized-dotnet.dll(11 행) 응용 프로그램을 시작합니다.

이제 마이크로 서비스를 실행 docker build하고 docker run빌드하고 시작할 수 있습니다 .

Docker를 사용하여 .NET Core 애플리케이션 빌드 및 실행

http://localhost:8080또는 에서 브라우저에서 예상대로 실행되는 마이크로 서비스를 확인할 수 있습니다 http://127.0.0.1:8080.

로컬에서 실행되는 WeatherForecast

4. 개발자 경험 개선

.NET Core 플랫폼을 설치할 필요없이 프로덕션 준비 이미지를 빌드하고 애플리케이션을 로컬에서 실행할 수 있다는 것은 놀랍습니다. 그러나 개발자는 코드를 테스트하고 조작하기 위해 다른 .NET 명령을 실행해야 할 수 있습니다. 이를 수행하는 방법은 종속성을 설치하고 소스 코드 만 복사하는 이미지를 만드는 것입니다.

다음으로 Dockerfiles를 재구성하여 개발 목적으로 하나의 폴더를 만들고 다른 하나 /dev/Dockerfiledocker/prod/Dockerfile로컬에서 실행하거나 나중에 프로덕션 환경으로 푸시하는 데 사용되는 배포 이미지를 빌드 합니다.

/docker
  /dev
    Dockerfile
  /prod
    Dockerfile

개발 콘솔 내에서 애플리케이션 빌드

보시다시피 컨테이너 콘솔에 들어가려면 빌드하고 실행해야했습니다. 건물 / 실행 과정은 계속해서 발생합니다. 이 프로세스를 자동화하고 우리의 삶을 더 쉽게 만들기 위해 가장 유용한 작업에 대한 대상 이름을 제공하는 다음과 같은 Makefile을 사용할 수 있습니다 .

이제 .NET을 설치하지 않고도 앱을 테스트, 빌드 및 실행할 수 있습니다. Docker 만.

얼마나 쉬운 지 확인하십시오. make .net-test 명령을 호출 하면 컨테이너 내부에서 앱이 테스트됩니다.

.net-test를 만들어 앱을 테스트하는 데 필요한 전부입니다. 😏

Dockerize 프로젝트는 로켓 과학이 아닙니다. 우리가 따랐던 동일한 방법과 단계를 다른 언어로 프로젝트를 Dockerize하는 데 사용할 수 있습니다. 프로젝트 도커 라이징과 같은 기술에 대한 개발자의 경험에 투자함으로써 개발자가 첫날부터 생산성을 높일 수 있습니다.

위 예제의 소스 코드는이 Github 저장소에서 찾을 수 있습니다.

  • 개발자를위한 온 보딩 프로세스에는 개발 환경 설정과 같은 몇 가지 특징이 있습니다.
  • 개발자가 개발 환경 설정 중에 몇 가지 어려움에 직면하는 것은 정상입니다.
  • 개발 환경 설정이 악몽 일 필요는 없습니다.
  • 점점 더 인기를 얻고있는 기술을 Dockerizing이라고합니다.
  • 개발자는 언어 플랫폼을 설치하는 대신 Docker 만 설치하고 사용합니다. 이 기술을 "Dockerizing"이라고합니다.
  • "독점화 된"프로젝트를 통해 개발자는 개발 시스템을 "오염"시키지 않고 여러 플랫폼의 프로젝트에서 작업 할 수 있습니다.
  • 프로젝트 도커 라이징과 같은 기술을 사용하여 개발자의 경험에 투자함으로써 Devs는 첫날부터 생산성을 높일 수 있습니다.

Suggested posts

수면의 질을 개선하는 데 필요한 5 가지 경고 신호

수면의 질이 염려된다면 이러한 일을하는지 생각해보십시오.

수면의 질을 개선하는 데 필요한 5 가지 경고 신호

커피로도 하루를 구할 수없는 아침에 피곤 하신가요? 또한 회의에서 상사 앞에서 잠이 들었습니까? (아, 고통 스러울 것입니다.) 수면 부족이 뇌를 얼마나 엉망으로 만드는지에 따라 신체 상태, 운동 능력, 기분 및 정신 건강이 나빠집니다.

읽은 내용을 기억하는 방법 — 항상 사용했지만 무시했던 도구

요령과 요령 외에도 수면은 가장 중요한 도구입니다.

읽은 내용을 기억하는 방법 — 항상 사용했지만 무시했던 도구

나는 당신이 읽은 것을 기억하는 방법에 대한 마지막 글을 쓰는 것도 아닙니다. 이를 달성하는 데 도움이되는 수많은 도구가 인터넷에 있습니다.