Task #474
openTask #473: Docker learning phase 1
Docker learning phase 1 [Tuấn]
100%
Description
1.What is Docker?
=>Docker is an operating system for containers. Similar to how a virtual machine virtualizes (removes the need to directly manage) server hardware, containers virtualize the operating system of a server. Docker is installed on each server and provides simple commands you can use to build, start, or stop containers.
2.When to use/not use Docker (pros/cons)?
=> To use Docker: Use Docker containers as a core building block creating modern applications and platforms. Docker makes it easy to build and run distributed MICROSERVICES, deploy your code with standardized CONTINUOUS INTEGRATION & DELIVERY, build highly-scalable DATA PROCESSING systems, and create fully-managed platforms for your developers.
=> To not use Docker: need to boost speed, prioritize Security, develop a Desktop GUI Application, light Up Development and Debugging, use Different Operating Systems or Kernels, have a Lot of Valuable Data to Store, be looking for The Easiest Technology to Manage.
3.What is docker-compose?
=>Docker Compose is a tool that helps you define and share multi-container applications. With Compose, you can create a YAML file to define the services and with a single command, you can spin everything up or tear it all down.
4.Common docker/docker-compose command
=>Docker-compose: Compose works in all environments; production, staging, development, testing, as well as CI workflows. It also has commands for managing the whole lifecycle of your application:
.)Start, stop, and rebuild services
.)View the status of running services
.)Stream the log output of running services
.)Run a one-off command on a service
=>Common docker command: Docker version, Docker search, Docker pull, Docker run, Docker ps, Docker stop, Docker restart, Docker kill,Docker exec, Docker login, Docker commit, Docker push, Docker network, Docker history, Docker ps -a, Docker copy, Docker logs, Docker volume, Docker logout.