Wednesday 6 January 2016

How to create a simple Docker image

WHY
I tried to download a video from vimeo using youtube-dl;but it gave an error .When i googled the error it said the issue was resolved in latest release and the youtube-dl version was using was from debian repository and it was and up to date .So i thought why not create docker image for the solution as it would be a good learning experience.
[if you dont have docker installed =>http://pid7007blog.blogspot.ae/2015/11/howto-installing-docker-in-debian-8.html]
HOW
Docker is a software that lets you virtualize operating systems like virtual box but docker is much more flexible and lightweight.For this we will be using docker and youtube-dl. youtube-dl is a python application for downloading videos from various sites like youtube,vimeo etc.

Part one -Lets create a image[image is like .iso file for docker ] using debian as base.
1-Create your working directory called youtubedl . mkdir youtubedl
2-Create a file called "Dockerfile". touch Dockerfile
3-Copy these lines to "Dockerfile"
#create base image from debain
FROM debian:latest
MAINTAINER kamilkabir9 <kamilkabir9@gmail.com>
RUN apt-get update&&apt-get install -y python3-pip
#install youtube_dl
RUN pip3 install --upgrade youtube_dl
#create a dir called dataBucket
RUN mkdir dataBucket
#point working dir to dataBucket
WORKDIR /dataBucket
4-Run this command docker build -t myyoutubedl . (DONT forget dot)This command builds images according to the "Dockerfile"
5-Now when you check local images using command docker images, you can see a image called myyoutubedl

Part two- How to run your newly created image and download a youtube video
1-Go to directory where you want to download a video for example /home/usr1/myvideos
2-Run command docker run -it  -v $(pwd):/dataBucket myyoutubedl "$(pwd)" is the working dir ; /home/usr1/myvideos in this case
3-Now when your inside the docker container ,you can see something like
root@228102d3cbd1:/dataBucket#
4-Run youtube-dl https://www.youtube.com/watch?v=tPEE9ZwTmy0
5-To exit from docker container type ctrl+p+q
6-Now you can see downloaded video in your local dir (or as example  /home/usr1/myvideos)
Done :)

No comments:

Post a Comment