Bài viết được sự cho phép của tác giả Nguyễn Thành Nam Để giúp bạn chuẩn bị tốt nhất cho các cuộc phỏng vấn liên quan đến Docker, TopDev đã tổng hợp danh sách TOP 35 câu hỏi phỏng vấn Docker và cách trả lời hay nhất. Bỏ túi ngay để có một buổi phỏng vấn thật thành công bạn nhé. 21. Docker volume được lưu ở đâu trong docker? Volume được tạo và quản lý bởi Docker và không thể truy cập bằng thực thể khác docker. Nó được lưu trữ trong hệ thống file host Docker ở /var/lib/docker/volumes/. 22. Lệnh docker info là gì? Lệnh lấy thông tin chi tiết về Docker được cài đặt trên hệ thống host. Thông tin có thể giống như số lượng container hoặc image và chúng đang chạy ở trạng thái nào và các thông số kỹ thuật phần cứng như tổng bộ nhớ được cấp phát, tốc độ của bộ xử lý, phiên bản kernel,... 23. Ý nghĩa của các lệnh up, run và start của docker compose? Sử [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Thành Nam Để giúp bạn chuẩn bị tốt nhất cho các cuộc phỏng vấn liên quan đến Docker, TopDev đã tổng hợp danh sách TOP 35 câu hỏi phỏng vấn Docker và cách trả lời hay nhất. Bỏ túi ngay để có một buổi phỏng vấn thật thành công bạn nhé. 11. Docker Hub là gì? Là một nền tảng đám mây được cung cấp bởi Docker cho phép lưu trữ công khai image của Docker đồng thời cho phép tìm kiếm và chia sẻ với người khác. Image có thể được đẩy lên Docker Hub bằng câu lệnh docker push. 12. Lệnh để export một docket image như một archive? Cú pháp đó là: docker save -o <exported_name>.tar <container-name> 13. Lệnh để import một Docker image đến một Docker host khác? docker load -i <export_image_name>.tar 14. Có thể xoá container bị tạm dừng khỏi Docker không? Không thể! Container phải bị dừng trạng thái trước khi ta có thể xoá chúng. 15. Lệnh [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Thành Nam Docker đã trở thành một công cụ không thể thiếu trong việc triển khai và quản lý các ứng dụng container hóa. Với sự phổ biến ngày càng tăng của Docker, việc nắm vững kiến thức và kỹ năng về Docker không chỉ là một lợi thế mà còn là một yêu cầu quan trọng đối với các kỹ sư phần mềm, DevOps và những người làm việc trong lĩnh vực công nghệ thông tin. Để giúp bạn chuẩn bị tốt nhất cho các cuộc phỏng vấn liên quan đến Docker, TopDev đã tổng hợp danh sách TOP 35 câu hỏi phỏng vấn Docker và cách trả lời hay nhất. Bỏ túi ngay để có một buổi phỏng vấn thật thành công bạn nhé. I. Giới thiệu Docker Docker là một nền tảng mã nguồn mở rất phổ biến và mạnh mẽ được sử dụng để xây dựng, triển khai và chạ [...]
Read more →Bài viết được sự cho phép của tác giả Tống Xuân Hoài Vấn đề Docker gần đây đang nổi đình đám trong cộng đồng IT nên ngày càng phổ biến, được nhiều người dùng hơn. Bằng chứng là tần suất từ Docker xuất hiện trong JD của nhà tuyển dụng ngày càng nhiều. Công ty của tôi sử dụng Docker, dự án của tôi cũng dùng Docker, dự án làm cho người khác cũng dùng nó… Docker xuất hiện như một giải pháp "đóng gói" quá thuận lợi cho cuộc cách mạng tự động hóa. Nhưng có một điều đã tồn tại song song với nó từ xưa đến này là vấn đề build docker image khá tốn thời gian. Dung lượng của một "hình ảnh" docker nhiều khi lên đến cả hàng GB. Docker bổng nhiên trở thành một "sát thủ ổ cứng". Nhiều câu nói đùa rằng, ông bạn có đủ ổ cứng không mà dám CI/CD với Docker? Nhưng trong bà [...]
Read more →Bài viết được sự cho phép của tác giả Mai Đông Giang Docker là gì? Docker là một nền tảng cho các developers để develop, deploy và khởi chạy ứng dụng của mình với container. Nó cho phép tạo các môi trường độc lập và tách biệt để khởi chạy và phát triển với mỗi dịch vụ trên một hoặc nhiều container khác nhau. Khi cần deploy lên bất kỳ server nào chỉ cần run container của Docker thì ứng dụng của bạn sẽ được khởi chạy ngay lập tức. Nhờ đó chúng ta sẽ tiết kiệm được rất nhiều thời gian cho việc cài đặt môi trường. Đồng thời, các developers làm việc với nhau sẽ sử dụng thống nhất một môi trường và các hình liên quan, giúp việc teamwork trở nên đồng nhất. Docker đa phần được cài đặt và chạy trên các container nên việc gỡ các gói cài đặt hay thay đổi version,… sẽ không ảnh hưởng gì đến má [...]
Read more →Bài viết được sự cho phép của tác giả Tống Xuân Hoài Vấn đề Bạn có đang sử dụng Docker trong số các dự án nào đang tham gia không? Nếu có thì chắc hẳn vấn đề lưu trữ và chia sẻ Images cần phải được giải quyết, đơn giản bởi vì Registry mặc định của Docker giới hạn số lượng các hình ảnh riêng tư (Private Images). Điều đó có nghĩa là nếu có nhiều dự án thì bắt buộc bạn phải public số hình ảnh đó cho cộng đồng, mà chắc chắn là không phải ai cũng muốn vì dự án của chúng ta cần tính riêng tư. Thông thường, có người sẽ chi trả khoản phí cho Docker để nhận được nhiều Private Images hơn, bên cạnh đó cũng có người chọn giải pháp tự triển khai cho mình một Registry để lưu trữ toàn bộ hình ảnh nội bộ của công ty, Docker rất "hào phóng" khi họ sẵn sàng cung cấp cho mọi người sử dụng [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Mình đã hướng dẫn các bạn cách cài đặt FTP server trên Ubuntu. Trong bài viết này, mình sẽ hướng dẫn các bạn cài đặt FTP server sử dụng Docker các bạn nhé! Chúng ta sẽ sử dụng vsftpd Docker Image ở địa chỉ Docker Hub https://hub.docker.com/r/fauria/vsftpd/. [irp posts="14005" name="20 trường hợp sử dụng lệnh Docker cho developer"] [irp posts="7048" name="Cách thiết lập một dự án Symfony để làm việc với Docker Subdomains"] Xem thêm các chương trình tuyển dụng PHP lương cao trên TopDev Docker Image này expose nhiều biến môi trường khác nhau giúp chúng ta có thể cấu hình FTP server theo cách mình muốn, bao gồm: FTP_USER FTP_PASS PASV_ADDRESS PASV_ADDR_RESOLVE PASV_ENABLE PASV_MIN_PORT PASV_MAX_PORT XFERLOG_STD_FORMAT LOG_STDOUT FILE_OPEN_MODE LOCAL_UMASK REVERSE_LOOKUP_ENABLE PASV_PROMISCUOUS PORT_PROMISCUOUS Chi tiết ý nghĩa của mỗi biến môi trường, các bạn có thể đọc thêm tại đây. Mì [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Trong bài viết trước, mình đã hướng dẫn các bạn cách cài đặt Apache Kafka trên macOS, việc cài đặt sử dụng Docker Compose sẽ giúp chúng ta nhanh chóng start lên một Apache Kafka server mà không tốn nhiều effort, chỉ cần cài đặt Docker và tập tin docker-compose.yml. Cụ thể như thế nào? Trong bài viết này, mình sẽ hướng dẫn các bạn cách cài đặt Apache Kafka sử dụng Docker Compose các bạn nhé! [irp posts="7048" name="Cách thiết lập một dự án Symfony để làm việc với Docker Subdomains"] Xem thêm các việc làm OOP lương cao trên TopDev Mình sẽ tạo mới một tập tin docker-compose.yml với Docker Compose version như sau: version: '3.8' Chúng ta sẽ khai báo 2 service, một cho Apache Zookeeper và một cho Apache Kafka: services: zookeeper: kafka: Vì Apache Kafka muốn chạy được phải có Apache Zookeeper nên mình sẽ khai báo service zookeeper trước. Chúng ta sẽ sử dụ [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Redis là một open-source cho phép chúng ta có thể lưu trữ data trong memory. Chúng ta có thể sử dụng Redis để làm database, caching hoặc message broker. Trong bài viết này, mình hướng dẫn các bạn cách cài đặt Redis sử dụng Docker các bạn nhé! [irp posts="4174" name="Cấu hình Redis Caching để tăng tốc site WordPress của bạn"] [irp posts="11034" name="Cách tạo một Docker đơn giản cho Node.JS"] Xem thêm các chương trình tuyển dụng Redux hấp dẫn trên TopDev Đầu tiên, các bạn có thể đi đến trang official Docker Image của Redis tại https://hub.docker.com/_/redis để kiểm tra version mới nhất của Redis Image. Sau đó thì sử dụng command docker run để cài đặt Redis như sau: docker run -p 6379:6379 -d redis Ở đây, mình đang sử dụng latest version của Redis, mình cũng expose port chạy mặc định của Redis là 6379 ra bên ngoài. Kết quả: Đến đây thì Redis đã được start rồi. docker ps -a Các bạn có [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Load balancer là một khái niệm về cân bằng tải, được sử dụng để giúp ứng dụng của chúng ta có thể handle một số lượng lớn các request từ người dùng. Chúng ta sẽ deploy ứng dụng của mình lên nhiều máy khác nhau, behind một load balancer, các request từ người dùng sẽ gọi tới load balancer và sẽ được load balancer forward tới một trong các máy này… Nginx là một trong những web server có thể hỗ trợ chúng ta hiện thực phần load balancer đó các bạn! Cụ thể như thế nào? Trong bài viết này, mình sẽ hướng dẫn các bạn deploy ứng dụng load balancer sử dụng Nginx với Docker các bạn nhé! [irp posts="11034" name="Cách tạo một Docker đơn giản cho Node.JS"] [irp posts="7048" name="Cách thiết lập một dự án Symfony để làm việc với Docker Subdomains"] Xem thêm các việc làm Java lương cao trên TopDev Để là [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Thông thường, sử dụng Nginx với Docker, chúng ta sẽ không cài đặt Nginx từ official image rồi cấu hình manually. Chúng ta sẽ sử dụng những Inginx Docker Image đã được cấu hình sẵn và việc chúng ta cần làm là start container từ những Nginx Docker Image đó và sử dụng mà thôi. Trong bài viết này, mình sẽ hướng dẫn các bạn cách xây dựng một custom Nginx Docker Image các bạn nhé! Mình sẽ xây dựng một custom Nginx Docker Image để khi start container từ Docker image này, mình sẽ có một web application giống như trong bài viết Cấu hình ứng dụng web cơ bản với Nginx trên CentOS. [irp posts="19795" name="Biến Git và GitHub trở thành công cụ đắc lực cho Software Engineer"] [irp posts="7048" name="Cách thiết lập một dự án Symfony để làm việc với Docker Subdomains"] Mình sẽ tạo mới một Dockerfile sử dụng Ignix official image để bắt đầu: FROM nginx:latest Cấu [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Trong bài viết trước, mình đã hướng dẫn các bạn cách cài đặt Nginx trên CentOS. Nếu sử dụng Docker thì việc cài đặt Nginx sẽ như thế nào? Trong bài viết này, mình sẽ hướng dẫn cho các bạn nhé! [irp posts="42499" name="10x engineer - cắt giảm chi phí 10 lần"] [irp posts="14005" name="20 trường hợp sử dụng lệnh Docker cho developer"] Xem thêm việc làm IOT Engineering hấp dẫn trên TopDev Đầu tiên, các bạn cần đi đến trang Docker Hub official build của Nginx https://hub.docker.com/_/nginx, chọn latest version của Nginx, sau đó thì sử dụng Docker command để start một Nginx server lên, ví dụ như sau: docker run -d -p 80:80 --name web nginx Nginx mặc định chạy ở port 80 và mình đã mapping với port 80 của máy host (máy chạy Docker). Ở đây, mình cũng đã sử dụng latest tag của Nginx nên mình không cần khai báo version, các bạn có thể chọn version mà mình muốn nhé! Kết [...]
Read more →Bài viết được sự cho phép của tác giả Trần Hữu Cương Hướng dẫn lưu docker image thành file (docker save) [irp posts="11034" name="Cách tạo một Docker đơn giản cho Node.JS"] [irp posts="7048" name="Cách thiết lập một dự án Symfony để làm việc với Docker Subdomains"] Hướng dẫn lưu docker image thành file (docker save) Để lưu docker image thành file ta dùng lệnh docker save: docker save -o <path for generated tar file> <image name> Ví dụ: mình đang có 2 images là ubuntu:18.04 và registry:2. Bây giờ mình sẽ lưu image ubuntu:18.04 thành file ubuntu.18.04.tar Okay, Done! References: https://docs.docker.com/engine/reference/commandline/save/ https://docs.docker.com/engine/reference/commandline/image_save/ Bài viết gốc được đăng tải tại stackjava.com Có thể bạn quan tâm: Hướng dẫn xóa docker image (ví dụ docker rmi) Hướng dẫn load docker image từ file tar (docker load) Hướng dẫn pull images từ docker repository, registry (docker pull) Xem thêm Việc làm IT hấp dẫn trên TopDev
Read more →Bài viết được sự cho phép của tác giả Trần Hữu Cương Hướng dẫn load docker image từ file tar (docker load) Trong bài này mình sẽ thực hiện restore image được back up thành file .tar bởi lệnh docker save (Xem lại: Ví dụ docker save) [irp posts="11034" name="Cách tạo một Docker đơn giản cho Node.JS"] [irp posts="7048" name="Cách thiết lập một dự án Symfony để làm việc với Docker Subdomains"] Hướng dẫn load docker image từ file tar (docker load) Để load các image từ định dạng file .tar ta dùng lệnh docker load Cú pháp: docker load -i file_path Ví dụ: hiện tại trên máy mình không có image nào. Và mình đang có 1 image dưới dạng file .tar ở images/ubuntu.tar (đây là images ubuntu:18.04 được backup bằng lệnh docker save) Để load image đó mình dùng lệnh: docker load -i images/ubuntu.tar Okay, Done! References: https://docs.docker.com/engine/reference/commandline/load/ Bài viết gốc được đăng tải tại stackjava.com Có thể bạn quan tâm: Hướng dẫn xóa docker image (ví dụ docker rmi) Hướng dẫn pull images [...]
Read more →Bài viết được sự cho phép của tác giả Trần Hữu Cương Hướng dẫn pull images từ docker repository, registry (docker pull) [irp posts="14005" name="20 trường hợp sử dụng lệnh Docker cho developer"] [irp posts="7048" name="Cách thiết lập một dự án Symfony để làm việc với Docker Subdomains"] Ví dụ docker pull Để pull docker image ta dùng lệnh sau: docker pull [OPTIONS] NAME[:TAG|@DIGEST] Trong đó có các OPTIONS sau: --all-tags , -a Tải tất cả các tag của image trong repsitoryDownload all tagged images in the repository --disable-content-trust true Bỏ qua bước verify image --platform experimental (daemon)API 1.32+Thiết lập platform nếu server cho phép nhiều platform --quiet , -q Thu gọn log của lệnh Ví dụ: pull image ubuntu với tag là 18.04 docker pull ubuntu:18.04 Okay, Done! References: https://docs.docker.com/engine/reference/commandline/pull/ Bài viết gốc được đăng tải tại stackjava.com Có thể bạn quan tâm: Hướng dẫn cài đặt docker registry server (private registry server) Docker là gì? Kiến thức cơ bản về Docker Hướng dẫn xóa docker image (ví dụ docker rmi) Xem thêm Việc làm IT hấp dẫn trên TopDev
Read more →