본문 바로가기
IT/Docker

Mono in Docker container (컨테이너에서 모노 이용)

by halizy 2018. 7. 15.

이번 포스팅에서는 컨테이너에 mono develop을 설치하는 방법에 대한 포스팅을 하려고 합니다


참고자료 URL: http://dotnetliberty.com/index.php/2015/10/04/mono-and-c-sharp-on-docker-hello-world-in-15-steps/


 



mono 란?


MONO 는 C#과 공통언어 런타임을 위한 ECMA 표준을 기반으로 한 MS .NET 프레임워크의 OPEN SOURCE 구현체이다.

리눅스, BSD,Mac OS X 오픈 솔라리스를 필두로 하는 다양한 유닉스 기반의 운영체제에서 이용할 수 있으며 

윈도우에서도 이용 할 수 있다 (Cross platform)



mono의 활용 방안


mono 위에서 C# .NET으로 개발된 바이너리를 실행 할 수 있다. 때문에 컨테이너 위에 mono를 설치하여 C# 바이너리를

실행하면 컨테이너의 배포 편의성을 이용 할 수 있다




mono in container


 Ubuntu 14.04 + mono 



1. docker ubuntu image download and new image build (Dockerfile을 만들어도 되고, mono 이미지를 사용해도 동일하다)


$ docker run -it ubuntu bash

  

# in ubuntu container


$ sudo apt-get update


$ sudo apt-get install -y mono-complete vim

  

# out of container


$ docker ps


$ docker commit continerID clouddev/monodev


$ docker images


REPOSITORY    TAG  IMAGE ID  CREATED VIRTUAL SIZE
clouddev/monodev latest   62d949ada343    3 hours ago      632.4 MB



2.hello mono build 및 실행


$ docker run -it clouddev/monodev bash

  

#in mono container


cat <<EOF > hellomono.cs

public class HelloMono {

        static public void Main() {

                System.Console.WriteLine("Hello Mono!");

        }

}

EOF

 

 

$ mcs hellomono.cs


$ mono hellomono.exe


Hello Mono!



댓글