Giới thiệu về docker.
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 ...
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