Giới thiệu về docker.
Bài đăng này đã không được cập nhật trong 7 năm
Docker là gì? Docker là 1 công cụ hỗ trợ việc tạo môi trường ảo (container) trên linux nhanh gọn và đơn giản.
Đặc điểm của Docker Nhanh, nhẹ Thời gian khởi động rất nhanh do Docker tạo OS ảo. Các container sử dụng chung các images nên cũng không tốn nhiều disks.
Docker images, Docker Hub Docker images là các files và settings sử dụng trong container được lưu lại và sử dụng lại.Docker hub là site chia sẻ và lưu giữ các file images này.
Settings rõ ràng, tự động Sử dụng các file settings như Dockerfile và được định nghĩa rõ ràng bằng codes. Làm cho tự động hoá các thao tác và giảm thiểu lỗi thao tác trong quá trình sử dụng.
Hướng application Mục đích của docker hướng tới là để dễ dàng thực hiện các thao tác build, run, deploy cho application.
Linh hoạt , tự do Docker có rất nhiều tools hỗ trợ, các tools này phần lớn đều có thể chạy riêng rẽ, nên rất dễ sử dụng.
Sự khác biệt giữa container và máy ảo Container thực hiện các process trên môi trường OS ảo, điều đó giúp container nhanh hơn, nhẹ hơn, đỡ tốn tài nguyên hơn so với máy ảo thông thường.
Một số khái niệm cơ bản của docker Container Môi trường ảo tạo ra từ docker images.
Docker images Chứa các files settings và hệ thống của containers.
Docker server Nơi quản lý các containers, images.
Docker client Các tools GUI, command để users thao tác trên docker.
Docker hub (repo) Sites lưu trữ và chia sẻ các images Docker.
Một sô command cơ bản của docker Pull một image từ Docker Hub
$ docker pull <image name>
Khởi động và chạy 1 image docker.
Ví dụ : hello world
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
535020c3e8ad: Pull complete
af340544ed62: Pull complete
Digest: sha256:a68868bfe696c00866942e8f5ca39e3e31b79c1e50feaee4ce5e28df2f051d5c
Status: Downloaded newer image for hello-world:latest
Hello from Docker.
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker Engine CLI client contacted the Docker Engine daemon.
2. The Docker Engine daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker Engine daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker Engine daemon streamed that output to the Docker Engine CLI client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
Ví dụ : Ubuntu
$ docker run -i -t ubuntu /bin/bash
Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com
For more examples and ideas, visit:
https://docs.docker.com/userguide/
Ví dụ : Nginx với cổng 8080
$ docker run -p 8080:80 ngin
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
Liệt kê các images hiện có
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 91c95931e552 5 weeks ago 910 B
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
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
592376ff3eb8 hello-world "/hello" 25 seconds ago Exited (0) 24 seconds ago tungpham
Tắt container (docker kill)
$ docker kill <ID hoặc NAME>
Xoá container (docker rm)
$ docker rm <ID hoặc NAME>
Nếu container đang chạy, bạn cũng có thể xoá nhưng phải thêm tham số -f vào sau rm để force remove:
$docker rm -f <ID hoặc NAME>
Khởi động và truy cập lại vào một container đã tắt
$ docker start <ID hoặc NAME>
$ docker exec -it <ID hoặc NAME> /bin/bash
Xoá một image
$ docker rmi <ID hoặc NAME>
hoặc
$ docker rmi -f <ID hoặc NAME>
Trên đây mình giới thiệu 1 vài thứ cơ bản của docker, hy vọng giúp ích cho các bạn khi bắt đầu làm quen với nó.
Tham khảo: https://docs.docker.com
All rights reserved