Docker cho người mới học: Các lệnh cần thiết cho người mới bắt đầu
Docker đã cách mạng hóa thế giới phát triển phần mềm bằng cách giúp các nhà phát triển thuộc mọi nền tảng có thể tiếp cận việc container hóa. Cho dù bạn là một chuyên gia dày dạn kinh nghiệm hay mới bắt đầu hành trình vào thế giới container, việc nắm vững các lệnh Docker thiết yếu là điều bắt buộc.
Trong hướng dẫn cơ bản này, Hion Coding sẽ hướng dẫn bạn các lệnh Docker cơ bản mà mọi người mới sử dụng nên biết. Chúng tôi sẽ cung cấp giải thích rõ ràng và ví dụ mã thực tế để giúp bạn bắt đầu với Docker và xây dựng nền tảng vững chắc cho các ứng dụng được đóng gói.
Docker Cơ bản
Trước khi đi sâu vào các lệnh, hãy tìm hiểu một số thông tin cơ bản về Docker. Docker là một nền tảng để phát triển, vận chuyển và chạy các ứng dụng trong container. Bộ chứa là môi trường nhẹ, di động và biệt lập để đóng gói các ứng dụng và phần phụ thuộc của chúng. Docker đơn giản hóa quá trình tạo, triển khai và quản lý các vùng chứa này.
Use Docker:
+ Pulling Docker Images
docker pull image_name
Explanation:
- Lệnh docker pull được sử dụng để tải hình ảnh Docker từ sổ đăng ký (như Docker Hub) xuống máy cục bộ của bạn.
- Thay thế image_name bằng tên của Docker image bạn muốn kéo.
Exampledocker pull ubuntu:latest
+ Build docker:
docker-compose build
+ Build docker no cache:
docker-compose --no-cache
+ View docker container: Lệnh docker ps liệt kê tất cả các container đang chạy trên hệ thống của bạn.
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1b7b4dd455a ubuntu:latest "/bin/bash" 5 minutes ago Up 5 minutes modest_joliot
+ View docker image:
docker images
+ Remove a container:
docker rm container_id
Explanation:
-
Lệnh docker rm sẽ xóa một container đã dừng.
- Thay thế container_id bằng ID hoặc tên của vùng chứa bạn muốn xóa.
Example:docker rm c1b7b4dd455a
+ Remove all containers:
docker rm $(docker ps -a -q)
+ Remove all images:
docker rmi $(docker images -a -q)
+ Stop all docker containers:
docker stop $(docker ps -a -q)
+ Start all docker container:
docker start $(docker ps -a -q)
+ Run all docker in docker-compose:
docker-compose up
docker-compose up -d
+ Down all docker in docker-compose:
docker-compose down
+ Run docker by docker name cmd:
docker exec -it container_name bash
+ Remove all networks between containers
docker network prune
+ Other exec docker mysql by docker name
- docker exec -it {docker_name} bash
- mysql -u root -p
Note: Nếu version mysql > 8: hãy cấp quyền cho MySQL:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
+ Import file SQL:
sudo docker-compose exec -T {name_mysql} mysql -u{username} -p{password} {database_name} --binary-mode < {path}/file_name.sql
ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
Tìm và comment các dòng như bên dưới:
-- SET @@SESSION.SQL_LOG_BIN= 0;
-- SET @@GLOBAL.GTID_PURGED=/*!80000 '+'*/ '';
-- SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
Note: Nếu gặp lỗi có message như thế này ERROR: Pool overlaps with other one on this address space
sudo docker network rm $(sudo docker network ls -q)
Phần kết luận
Nếu đã đọc đến phần này thì Hion Coding xin chúc mừng! Bạn đã có thể thực hiện những bước đầu tiên vào thế giới Docker bằng các lệnh thiết yếu này. Tính linh hoạt và hiệu quả của Docker khiến nó trở thành một công cụ mạnh mẽ để phát triển và triển khai phần mềm hiện đại.
Khi tiếp tục hành trình Docker của mình, bạn sẽ khám phá thêm nhiều lệnh và tính năng cho phép bạn xây dựng, vận chuyển và chạy các ứng dụng trong vùng chứa một cách liền mạch. Hãy luôn tò mò, khám phá hệ sinh thái của Docker và tận hưởng những lợi ích của việc container hóa trong các dự án phát triển của bạn.
Thank you !!! Good locuk !!! Hion Coding