ASP.NET Core 3.0 웹 응용프로그램을 도커 컨테이너로 실행하는 외주 작업 회고입니다.
작업기간: 일주일
비용: 비공개
ASP.NET 2.0 프로젝트를 ASP.NET Core 3.0 으로 대상 프레임워크 변경해서 Ubuntu 서버에서 도커 컨테이너로 실행합니다.

웹사이트 형식의 ASP.NET 2.0 프로젝트를 ASP.NET Core 3.0 으로 대상 프레임워크를 변경하고, 리팩터링합니다.
text/xml 또는 application/json 중 하나를 기본값으로 지정할 수 있어야 하고, 요청 헤더 Accept 에 따라 처리되어야 합니다.⚠ 응용프로그램을 가상화하지 않고, ASP.NET Core 3.0 런타임 이미지를 사용해서 컨테이너를 실행하고, 로컬 디렉터리를 마운트해서 ASP.NET Core 웹 응용프로그램을 실행합니다.
ASP.NET Core 웹 응용프로그램은 호스트 장치에서 빌드, 동작 확인 후 게시합니다.
게시 위치는 ASP.NET Core 런타임 컨테이너에 마운트된 디렉터리입니다.
Nginx 를 역방향 프록시 서버로 사용합니다.
Nginx 도 도커 컨테이너로 실행합니다.
대상 데이터베이스를 Microsoft SQL Server 에서 MySQL Server로 변경하려고 하였으나, 저장 프로시져를 재작성해야 해서 대상 데이터베이스는 Microsoft로 지정합니다.
MySQL Server 에서 사용할 저장 프로시져 작성 후 사용할 수 있도록 데이터베이스 변경에 대한 지원이 필요합니다.
Microsoft SQL Server 도 도커 컨테이너로 실행합니다.
기존 프로젝트에 대한 설명을 자세하게 해주셔서 코드 확인을 큰 문제없이 진행했습니다.
코드 재작성 후 Hyper-V 에서 Ubuntu 18.04 를 실행하고, 세개의 도커 컨테이너로 동작을 확인한 후 전달 해드리고 프로젝트를 마무리했습니다.
미들웨어로 요청을 처리합니다.
요청 본문 데이터 정의
– IDictionary<string, string> 으로 결정
응답 본문 데이터 정의
– 처리 결과 데이터로 결정
요청 본문의 데이터를 객체로 변환하는 변환기 작성
System.Text.Json 네임스페이스 사용System.Text.Json 네임스페이스의 기본 직렬화 처리기로 IDictionary<stirng, string> 또는 IDictionary<string, object> 처리 불가능합니다. ➡ 역직렬화를 위해 Json 변환기 작성application/json 또는 multipart/form-datapublic class RequestModelJsonConverter : JsonConverter<RequestModel>
{
public override RequestModel Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
// ❤❤❤
}
}
처리 결과 객체를 응답 본문의 내용으로 변환하는 변환기 작성
– .NET core 3.0 에 추가된 System.Text.Json 네임스페이스 사용
– XML 직렬화 처리기 작성
– Json 직렬화 처리기 작성
public interface ISerializer
{
string Serialize(ResponseModel model);
}
public class XmlSerializer : ISerializer
{
public string Serialize(ResponseModel model)
{
// ❤❤❤
}
}
public class JsonSerializer : ISerializer
{
public string Serialize(ResponseModel model)
{
// ❤❤❤
}
}
기능 기반 클래스 설계
docker-compose 로 세개의 컨테이너를 순차적으로 실행할 때, 문제가 발생해서 각각 실행하는 것으로 마무리합니다.
따라하기 형식의 문서를 노션으로 작성하여 전달합니다.
이렇게 잘 지원해주시는 분과 작업을 한다면 외주 작업만 해도 좋을 것 같아요. ❤❤❤
ASP.NET Core 3.0 웹 응용프로그램을 도커 컨테이너로 실행하는 외주 작업 회고입니다.
작업기간: 일주일
비용: 비공개
ASP.NET 2.0 프로젝트를 ASP.NET Core 3.0 으로 대상 프레임워크 변경해서 Ubuntu 서버에서 도커 컨테이너로 실행합니다.

웹사이트 형식의 ASP.NET 2.0 프로젝트를 ASP.NET Core 3.0 으로 대상 프레임워크를 변경하고, 리팩터링합니다.
text/xml 또는 application/json 중 하나를 기본값으로 지정할 수 있어야 하고, 요청 헤더 Accept 에 따라 처리되어야 합니다.⚠ 응용프로그램을 가상화하지 않고, ASP.NET Core 3.0 런타임 이미지를 사용해서 컨테이너를 실행하고, 로컬 디렉터리를 마운트해서 ASP.NET Core 웹 응용프로그램을 실행합니다.
ASP.NET Core 웹 응용프로그램은 호스트 장치에서 빌드, 동작 확인 후 게시합니다.
게시 위치는 ASP.NET Core 런타임 컨테이너에 마운트된 디렉터리입니다.
Nginx 를 역방향 프록시 서버로 사용합니다.
Nginx 도 도커 컨테이너로 실행합니다.
대상 데이터베이스를 Microsoft SQL Server 에서 MySQL Server로 변경하려고 하였으나, 저장 프로시져를 재작성해야 해서 대상 데이터베이스는 Microsoft로 지정합니다.
MySQL Server 에서 사용할 저장 프로시져 작성 후 사용할 수 있도록 데이터베이스 변경에 대한 지원이 필요합니다.
Microsoft SQL Server 도 도커 컨테이너로 실행합니다.
기존 프로젝트에 대한 설명을 자세하게 해주셔서 코드 확인을 큰 문제없이 진행했습니다.
코드 재작성 후 Hyper-V 에서 Ubuntu 18.04 를 실행하고, 세개의 도커 컨테이너로 동작을 확인한 후 전달 해드리고 프로젝트를 마무리했습니다.
미들웨어로 요청을 처리합니다.
요청 본문 데이터 정의
– IDictionary<string, string> 으로 결정
응답 본문 데이터 정의
– 처리 결과 데이터로 결정
요청 본문의 데이터를 객체로 변환하는 변환기 작성
System.Text.Json 네임스페이스 사용System.Text.Json 네임스페이스의 기본 직렬화 처리기로 IDictionary<stirng, string> 또는 IDictionary<string, object> 처리 불가능합니다. ➡ 역직렬화를 위해 Json 변환기 작성application/json 또는 multipart/form-datapublic class RequestModelJsonConverter : JsonConverter<RequestModel>
{
public override RequestModel Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
// ❤❤❤
}
}
처리 결과 객체를 응답 본문의 내용으로 변환하는 변환기 작성
– .NET core 3.0 에 추가된 System.Text.Json 네임스페이스 사용
– XML 직렬화 처리기 작성
– Json 직렬화 처리기 작성
public interface ISerializer
{
string Serialize(ResponseModel model);
}
public class XmlSerializer : ISerializer
{
public string Serialize(ResponseModel model)
{
// ❤❤❤
}
}
public class JsonSerializer : ISerializer
{
public string Serialize(ResponseModel model)
{
// ❤❤❤
}
}
기능 기반 클래스 설계
docker-compose 로 세개의 컨테이너를 순차적으로 실행할 때, 문제가 발생해서 각각 실행하는 것으로 마무리합니다.
따라하기 형식의 문서를 노션으로 작성하여 전달합니다.
이렇게 잘 지원해주시는 분과 작업을 한다면 외주 작업만 해도 좋을 것 같아요. ❤❤❤