Containerizing web application_with_docker

19
Containerizing Web Application With Docker MOHD SYUKOR ABDUL 1 PART 1

Transcript of Containerizing web application_with_docker

Containerizing Web Application With

Docker

MOHD SYUKOR ABDUL

1PART 1

What Are We Going To Do Today?

DOCKER PLATFORM OVERVIEW

DOCKER INSTALLATION

DOCKER COMMANDS

2

DOCKER PLATFORM OVERVIEW

Docker is a platform for developing, shipping and running applications using container virtualization technology.

The Docker Platform consists of multiple products/tools:

Docker Engine

Docker Hub

Docker Machine

Docker Swarm

Docker Compose

Kitematic

3

DOCKER PLATFORM OVERVIEW

Docker containers wrap up a piece ofsoftware in a complete filesystem thatcontains everything it needs to run: code,runtime, system tools, system libraries –anything you can install on a server.

This guarantees that it will always run thesame, regardless of the environment it isrunning in.

4

DOCKER PLATFORM OVERVIEW

Containers vs VMs:

5

DOCKER INSTALLATION

Docker website: https://www.docker.com/

Windows : https://docs.docker.com/windows/

Mac : https://docs.docker.com/mac/

Linux : https://docs.docker.com/linux/

6

sudo apt install docker.io from ubuntu repo

curl -fsSL https://get.docker.com/ | sh from Docker (latest)

docker info to verify installation

DOCKER COMMANDS

docker search ubuntu

docker search –s 1000 ubuntu

docker images

7

Searching images …

DOCKER COMMANDS

docker pull ubuntu:14.04

docker pull mariadb

docker pull mariadb:latest

docker pull joomla:3.5.0-apache-php7

docker pull joomla:3.5.0-fpm-php7

docker pull wordpress:4.5.2-apache

docker pull mysql:5.7

8

Pulling images …

DOCKER COMMANDS

docker images

docker rmi <container-id>

9

Deleting images …

DOCKER COMMANDS

docker run -it ubuntu:16.04 bash

#in docker – ubuntu shell

apt update

apt upgrade –y

apt install apache

apt clean all

#to exit press CTRL-C and stop the container OR CTRL-P CTRL-Q to exit without stopping the running container

docker ps

docker ps –a

docker commit -a authorname <container-id> <new-image-id>

10

Creating an image your own …

DOCKER COMMANDS

docker run hello-world

docker run -i -t ubuntu bash

docker run --name mynginx1 -d -P nginx

docker run -d -p 3000:8080 nginx

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7

docker run -d -p 80:80 -p 3306:3306 webkul/joomla:latest

docker run --name docker-nginx -p 80:80 -d -v ~/docker-nginx/html:/usr/share/nginx/html nginx

11

Launching new containers …

DOCKER COMMANDS

docker ps

docker ps -a

docker inspect <container-id>

12

Inspecting containers …

DOCKER COMMANDS

docker ps -a

docker attach <container-id>

docker attach <container-name>

** to exit/detach press CTRL-P CTRL-Q

13

Attaching to a running container …

DOCKER COMMANDS

docker ps -a

docker stop <container-id>

docker stop <container-name>

14

Stopping a running container …

DOCKER COMMANDS

docker ps -a

docker rm <container-id>

15

Deleting a container …

DOCKER COMMANDS

docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7

docker run --name joomla1 --link mysql1:mysql -d joomla

docker run --name some-joomla --link mysql1:mysql -p 8080:80 -d joomla

docker run --name wordpressdb -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress -d mysql:5.7

docker run -e WORDPRESS_DB_PASSWORD=password -d --name wordpress --link wordpressdb:mysql wordpress

16

Linking two containers …

DOCKER COMMANDS

mkdir myapp1

cd myapp1

vi Dockerfile

docker build -t myapp1 .

17

Dockerfile …

FROM ubuntu:latestMAINTAINER [email protected] apt-get updateRUN apt-get install –y curlRUN curl –silent –location https://deb.nodesource.com/setup_4.X| sudo bash -RUN apt-get install –y nodejsRUN apt-get clean allRUN mkdir /srcWORKDIR src/CMD [“npm”,”start”]

DOCKER COMMANDS

FROM ENTRYPOINT

MAINTAINER VOLUME

RUN USER

CMD WORKDIR

LABEL ARG

EXPOSE ONBUILD

ENV STOPSIGNAL

ADD

COPY

18

Dockerfile …

THANK YOU

19

END OF PART 1