Predictive Hacks

# Docker Quick Start

### Let’s say that we want to search for the Python images. We can run the command:

docker search python


As we can see we get the NAME, the DESCRIPTION, the STARTS and if it is OFFICIAL and/or AUTOMATED. So, always try to get images with many starts and prefer to be official.

### How to get images from Docker Hub

You can get an image from a public repository by running the command docker pull and the name of the image. Let’s say that we want to get the “hello-world” image.

docker pull hello-world:latest


Notice that if you do not use any tag i.e.”:latest”, we get by default the latest. However, you can specify a particular version.

### How to run a Docker Image

We can run the docker image with the run command. Let’s run the “hello-world” image.

docker run hello-world:latest


and as expected we get the message “Hello from Docker!” since that was intended to do.

### How to get the list of Images

Simply by running docker images you get the list of your images. In our case we have only the hello-world.

docker images


### How to get the Running Containers

The command to get the running containers is:

docker ps


### How to inspect an Image and or Container

You can inspect a container as follows:

docker inspect <image_name>


### How to run a Container in Interactive Mode

If you want to run a container in an interactive mode using the terminal you should use the -it. Let’s run the centos image.

docker run -it centos:latest /bin/bash


Now we are in the container operating system! As we can see the container is running:

and if we want to exit it we type exit.

### How to run a Container in Backgroung

You should use the flag -d (detached) and the command is:

docker run -d nginx:latest


### How to Stop a Container

First we need to find the container id or the container name using the ps command.

docker stop nervous_babbage


### How to Execute a command in a Container

If you have a running container and you want to execute a command in an interactive mode then you can run:

docker exec -it <container_name> /bin/bash


Above, we ran the bin/bash so that to be able to start interacting with the container using the terminal.

### How to Remove an Image

The image that you want to remove must not be used and depend in any container. Then you can run the

docker rmi <image_name>


You can use the flag -f to force to remove the image even if it is used in any running container.

docker rmi -f <image_name>


### How to Remove ALL Non-Running Containers

You can remove all non-running containers with the command:

docker rm \$(docker ps -a -q)


### How to map Ports

You can define the local ports using the flag -p as follows:

docker run -d -p 8080:80 --name=MyWebServer nginx:latest


### How to Mount Data

You can mount data in your container using the flag -v from volume.

docker run -d -p 8080:80 --name=MyWebServer2 -v /mnt/data nginx:latest


If we want to map the volume mount we can run the command:

docker run -d -p 8080:80 --name=MyWebServer2 -v /home/user/data:/user/share/nginx/my_folder nginx:latest


Now, whenever we make changes within the data folder which is in our local PC, will pass automatically to the my_folder which is within the container.

### Dockerfile

You can build an image from a Dockerfile. The name of the dockerfile must be just Dockerfile without any extension and you can build your image by running:

docker build .


Notice the period . which refers to your working directory where the Dockerfile should be. The structure of the Dockerfile is:

FROM debian:stable

RUN apt-get update &amp;&amp; apt-get upgrade -y

ENV MYVALUE my-value

EXPOSE 80

CMD ["/usr/sbin/apach2ctl", "-D", "FOREGROUND"]

• FROM: Get the base image
• RUN: Run the commands on the base image
• ENV: Create environment values
• EXPOSE: Expose the port
• CMD: Run within the container

## References

### Get updates and learn from the best

Miscellaneous

#### How to Redirect and Save Errors in Unix

In Unix, there are three types of redirection such as: Standard Input (stdin) that is denoted by 0. Usually, it’s

Python

#### Content-Based Recommender Systems with TensorFlow Recommenders

In this post, we will consider as a reference point the “Building deep retrieval models” tutorial from TensorFlow and we