Environment

Docker for haskell

__main__ 2019. 3. 19. 19:49

Docker for Haskell



1. Official haskell image in Docker Hub

 Haskell programming language(Haskell platform or Stack)를 설치하고 Emacs+Intero까지 설치할 수는 있다. 그러나 다른 곳의 다른 PC에서 Haskell programming을 하려면 다시 그 과정을 반복해야 한다. 시간도 오래 걸리고 무척 귀찮고 성가신 작업이다. 이 과정을 좀 쉽게 할 수 없을까? 항상 그런 생각을 해오다가 Docker란 것에 관심을 갖게 되었다. 위와 같이 command line에 입력하면 바로 ghci REPL 프롬프트가 뜨면서 haskell을 실행할 수 있게 된다. 간단하게 ghci REPL 에서 연습할 수 있지만, project 등 필요한 개발 환경을 만들기 위해서는 docker라는 것에 대해 더 알아봐야 한다.

docker search haskell
docker pull haskell
docker run -it haskell 


2. Haskell development environment in Ubuntu OS

 Windows 10 pro 64 bits에서 docker로 ubuntu를 설치하면, Host OS (Windows 10) - hypervisor - Guest OS (Linux) - docker engine - Ubuntu 식으로 설치된다. 이제 ubuntu image (immutable)를 pull 해서 local PC에서 `docker run -it ubuntu bash`로 ubuntu bash를 실행하면, 결국 ubuntu에서 Haskell Dev. Env. 를 만드는 것이 핵심! 즉, linux shell command와 linux file system 등 ubuntu라는 linux에 대해 잘 알고 있어야만 한다는 것.


# download docker image - ubuntu latest version
docker pull ubuntu:latest

# create and run a container from immutable ubuntu image
docker run -it --name hsdev ubuntu bash

# (in the ubuntu OS) update ubuntu 
apt-get update

# search for haskell stack, and install it
apt-cache search haskell stack 
apt-get install haskell-stack
stack --version

# install Emacs 
apt-get install emacs