DOCKER những thùng hàng tương lai #1


 DOCKER

 



1. Docker là gì?

Docker là một giải pháp ảo hóa mã nguồn mở, ban đầu viết bằng Python, sau đó viết bằng Go-Lang. Docker có thể đóng gói và chạy chương trình của mình trên các môi trường khác nhau (lilux, windows …) một cách nhanh nhất dưới dạng Container gọn nhẹ.

 


Người sáng lập Docker, Solomon Hykes

Docker hiện được Amazon, Google, IBM, Microsoft và VMware hỗ trợ

 

2.     Docker khác gì so với máy ảo

Docker đưa ra một giải pháp mới cho vấn đề ảo hóa, thay vì tạo ra các máy ảo con chạy độc lập kiểu “Tạo phần cứng ảo và cài HĐH lên đó”, có thể đóng thành các Container riêng lẻ, các container này sử dụng chung tài nguyên của máy mẹ, do đó hoạt động nhẹ và nhanh hơn các máy ảo dạng “Tạo phần cứng ảo và cài HĐH lên đó”


 

3.     Các thành phần của Docker 3.1 Docker Engine: dùng để tạo và chạy các “container” < Container là 1 đối tượng mà ứng dụng chạy trong đó. Container được tạo từ image >

Với Docker Engine, chứa các image là các chương trình đã được đóng gói. Các image này có thể lấy từ thư viện Docker hub hoặc người dùng tự đẩy image vào

        3.2 Kitematic: là giao diện GUI cho Docker


  

        3.3 Docker hub: là 1 dịch vụ host public của Docker để quản lý các images  <

Image là các chương trình đã được đóng gói> -  là nơi để mọi người upload, chia sẽ các images Docker của mình

https://hub.docker.com/explore/


 

Sau khi tìm ra image rồi, chúng ta tiến hành download nó về, bước này gọi là Pull

Docker pull mongo

Docker pull centos:centos6

Docker pull luongnv/admnvluong

Luongnv: tên tác giả

Admnvluong: tên file image


 


 

        3.4 Docker Compose: là 1 công cụ để tạo và chạy nhiều containers cùng 1 lúc.

Với Docker Compose, chỉ cần định nghĩa các containers lên 1 file (text)

<Dockerfile> < Dockerfile định nghĩa 1 image sẽ được tạo như thế nào, gồm các ứng dụng nào được cài sẵn bên trong đó>

Để tạo một image chúng ta sẽ tạo một Dockerfile rồi sau đó chạy Dockerfile đó để create image

Dockerfile cơ bản bao gồm có :

        FROM: Chỉ ra image được build từ đâu (từ image gốc nào)

Ví dụ: FROM ubuntu hoặc có thể chỉ rõ tag của image gốc 'FROM ubuntu:12.04'

        RUN: Dùng để chạy một lệnh nào đó khi build image

        COMMAND: Các câu lệnh chạy trong image


 

[ Ở Dockerfile trên là các câu lệnh để download và cài đặt mongodb ].

Sau khi tạo xong Dockerfile thì chạy lệnh sau để tạo image

 

sudo docker build -t linuxhjkaru/ubuntu_with_mongo:v1 .

        3.5 Docker Trusted Registry (Docker Registry) :là dịch vụ cung cấp private image


 

4.     Các câu lệnh trong Docker

        Cài đặt Docker


rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epelrelease-6-8.noarch.rpm  yum -y install docker-io 

 

sudo yum install epel-release  sudo yum install -y python-pip 


sudo pip install docker-composetall docker-composer  service docker start  chkconfig docker on

        Lệnh vận hành dịch vụ docker --version -> xem version của docker docker -v -> xem version docker service docker status -> xem trạng thái docker service docker start| stop -> start| stop docker

        Pull một image từ Docker Hub docker pull <image name> docker load < telehub.1.5.tar docker commit -m "Name" ID hoasao/telehub:1.5

        Tạo một container từ image có sẵn

docker run -v <thư mục trên máy tính>:<thư mục trong container> -

it <image name> /bin/bash

 

docker run -v /abc:/abc -p 80:80 -it ubuntu /bin/bash

docker run --net=host --privileged  --name="telehub" -dti

hoasao/telehub:1.5

 

        Liệt kê các images hiện có docker images

        Liệt kê các container đang chạy docker ps

        Liệt kê toàn bộ các container đang chạy và đã tắt docker ps -a

        Khởi động và truy cập lại vào một container đã tắt

docker start <ID hoặc NAME> docker attach ID  OR

docker exec -it <ID hoặc NAME> /bin/bash

        Tắt một container

docker stop <ID hoặc NAME>

 

        Xoá một container docker rm <ID hoặc NAME> docker rm -f <ID hoặc NAME>

        Xoá một image docker rmi <ID hoặc NAME> docker rmi -f <ID hoặc NAME>

        Đóng gói container thành file .tar

docker save hoasao/telehub:1.5 > telehub.1.5.tar


0 nhận xét:

Đăng nhận xét