Docker for haskell
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