All Articles

Tutorial Instalasi Python Docker di Windows

image

Docker Container, dapat mempermudah dalam menyiapkan environtment development seperti python yang terkadang membuat pusing harus install manual beberapa library beserta dependency nya. Apalagi di windows, beberapa libary python hanya bisa berjalan secara native di linux.

Berikut tahapannya :

Step 1
Pastikan Docker telah terinstall di windows. Jika belum, caranya sangat mudah tinggal kedip2 mata aja cek di https://docs.docker.com/engine/installation/windows/

Step 2
Instalasi python dengan cara pull python image dari docker hub. Image docker sangat banyak tersedia di docker hub. Namun saya menganjurkan untuk menggunakan image python dari kaggle yang telah dilengkapi dengan beberapa libary penting untuk keperluan datascience. Jadi kalo mau ngoprek pake python insyallah semua library yang diperlukan udah keinstall. Buka command prompt lalu eksekusi perintah berikut

c:\>docker pull kaggle/python
Using default tag: latest
latest: Pulling from kaggle/python 
cd1fc1696ecd: Pull complete 
.....

Step 3
Buat alias windows command untuk dapat mengeksekusi python pada docker dengan mudah. Buat 3 file berikut (dpython.bat, dipython.bat, djupyter.bat)

  1. dpython.bat

    @echo off<br>docker run -v %cd%:/tmp/working -w=/tmp/working --rm -it kaggle/python python %* 
  2. dipython.bat

    @echo off<br>docker run -v %cd%:/tmp/working -w=/tmp/working --rm -it kaggle/python ipython %*
  3. djupyter.bat

    @echo off<br>(docker run -v %cd%:/tmp/working -w=/tmp/working -p 8888:8888 --rm -it kaggle/python jupyter notebook --no-browser --ip="\*" --notebook-dir=/tmp/working)

    Kemudian letakkan file tersebut pada path di user environtment windows.
    Sekarang buka command prompt dan anda dapat mengkakses python dengan perintah dpython, ipython dengan dipython dan jupyter dengan djupyter untuk membuat jupyter notebook. Coba jalankan perintah berikut 

C:\dpython --version<br>Python 3.5.2 :: Anaconda 4.2.0 (64-bit)

Berikut beberapa penjelasan dari pembuatan alias diatas.

  • docker run … kaggle/python %* akan mengeksekusi python container dengan parameter apapun yang diberikan.
  • Parameter -v %CD%:/tmp/working agar python container dapat mengakses data di current folder dengan cara dimapping dengan folder /tmp/working pada python container. 
  • Parameter -w=/tmp/working untuk memastikan python container memulai sesi nya dari  folder working tsb.
  • Parameter —rm ditambahkan untuk memastikan sesi container langsung dihapus setelah exit.
  • Parameter -p 8888:8888,ditambahkan untuk memforward port 8888 pada docker container ke komputer anda dengan port yang sama, sehingga dapat diakses langsung dari local.
    Terakhir, parameter -it untuk menjalankan dalam mode interactive terminal.

    Enjoy :)