What is Docker?

Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow developers to package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package.

Docker is something like a virtual machine, but Docker allows application use the same Linux kernel without unnecessary dependencies that may be on the host computer.  This allows for some performance and reduces the size of the application.

The huge advantage of Docker is that is open source. That means that anyone can contribute as a volunteer too.

Who is Docker for?

Docker is a tool that’s designed for developers, administrators and software testers. For developers, it means that they can focus on writing code not maintain the environment. Reduce the number of dependencies, and also quick start with setting up initial development. Administrators get flexible and fast way to create and get running environments on easy way.  Software testers get the same environment that developer get to write feature. The last part is very important for two points: there is no misunderstanding in environment dependencies, and if there is a bug in software is easy to track and reproduce as well.

Getting started

On the Internet, there are a lot of information about Docker and why is so sexy thous days. Beginners guides for Docker, command-link simulators, a lot of images that are ready to use.  But I want to create my own tutorial that will be available on youtube channel. Starting with some basics to some advanced setup as well.

Docker and security

As a lot of tools, Docker brings some security too for the applications that are running in this environment, however, containers are not the thing that we can speak about security.  For example, there is something like kernel exploits, DDOS attacks, breakouts, poisoned images and secrets that can be compromised.


How to set up Kali Linux on Virtual Box

The purpose of this guide is to show how step by step install Kali Linux on VirtualBox. Kali Linux is very useful tool 😉


Open VirtaulBox and create the virtual machine by clicking on: ‘New’ or ‘CTRL + N’. When new window appears choose:

  • name for your virtual machine
  • type and version on an operating system: Linux, Debian(32 bit)/ Debian(64 bit)


Set memory at least 512MB. I set more than 700MB but after first run always change to a higher number. It always depends on how memory you have on a host machine.


Select option: ‘Create a virtual disk now’ and then click on: ‘Create’.


On this window, you can  select a few options, but I recommend to choose VMDK. Other options:

  • VDI  (VirtualBox Disk Image) – virtual disk image file in VirtaulBox systems
  • VHD (Virtual Hard Disk) – virtual hard disk drive, VHDs are implemented as files that reside on the native host file system, used by Microsoft
  • HDD (Parallels Hard Disk) – format used by commercial software “Parallels Workstation” Company “Parallels, Inc.”.
  • QED (QEMU enhanced disk) – format-specific virtual machine (KVM) based on the Linux kernel
  • QCOW (QEMU Copy-On-Write) – format used to obtain virtual storage space. This mechanism allows for a significant reduction in disk space requirements in a situation where the same image of the hard disk is used by many virtual machines and helps to increase productivity, as it reads from the disk is stored in the cache located in the RAM and the memory serves request readings from other virtual machines.


Select: ‘Dynamically allocated’. This option allows changing memory according to the requirements.


In: ‘Processors’ option select: ‘Enable PAE/NX’. Reserving for 32-bit memory larger than 4 GB require the use of Enable PAE / NX.


After starting virtual machine select locations of *.iso file with Kali Linux.


Select: ‘Install’ option and press ENTER key.


Select location.


Choose keyboard.


In this step yu can choose: ‘Continue’.


This is optional. You can skip this option.


Set up password.


Re-enter password.


Choose: ‘Guided – use entire disk’.


Confirm the disk partition.


Select partition schema. Choose first option.


Select: ‘Yes’ option to write changes to disk.


System installation starts. In the middle of the process, two windows will appear.  First with network mirror and second with installing the GRUB boot loader installation on a hard drive.


After reboot enter username as: ‘root’ and password configured previously.


 If you have some problems with installation, please leave comment below.