‫Đối với nhiệm vụ này, tôi sẽ yêu cầu bạn xây dựng hình ảnh của riêng bạn từ Dockerfile.
‫Về cơ bản, bạn sẽ đi từng dòng một trong Dockerfile và tự mình tìm ra cách làm cho
‫nó hoạt động chính xác.
‫Đây là một trong những điều tôi yêu thích thực sự làm trong Docker.
‫Tôi hơi khó hiểu về nó. Tôi cảm thấy rất vui vì việc tạo Dockerfile mới từ một ứng dụng
‫hiện có, đối với tôi, cảm giác như nó thực sự làm cho ứng dụng tốt hơn. Bởi vì tôi thích thử thách làm một thứ gì đó
‫trước đây phức tạp hoặc không nhất quán trong quy trình của nó và trở nên có thể đoán trước và tự động hóa.
‫Đó thực sự là tất cả những gì về Dockerfile.
‫Bài tập phổ biến cho quản trị viên Docker là tạo hình ảnh tùy chỉnh và giúp người khác tạo tệp Dockerfiles cho
‫mã nguồn của riêng họ.
‫Thông thường, bạn sẽ cần phải xem các hình ảnh chính thức và có thể bạn không biết nhiều về ứng dụng hoặc
‫thậm chí là ngôn ngữ hoặc gói ứng dụng mà nó sử dụng, nhưng bạn vẫn cần phải 'Dockerize' nó.
‫Điều này có nghĩa là bạn đang tạo Dockerfile cho một ứng dụng hoặc dịch vụ hiện có và bạn đang làm cho
‫nó hoạt động bình thường trong một vùng chứa.
‫Tuy nhiên, quá trình đó có nghĩa là bạn sẽ cần phải tìm kiếm những hình ảnh chính thức phù hợp
‫hoặc một hình ảnh có thể không
‫chính thức, nhưng nó gần với những gì bạn cần. Và điều tra kho lưu trữ hình ảnh đó và các tệp Dockerfiles trong đó, để
‫hiểu cách nó được xây dựng, và sau đó bạn có thể xây dựng từ nó như thế nào bằng cách sử dụng lệnh from.
‫Bạn sẽ cần học nghệ thuật ghép hình ảnh hiện có đó với các hướng dẫn xây dựng của mình để cuối cùng có được
‫một hình ảnh hoạt động hoàn chỉnh.
‫Trong phần này, chúng ta sẽ sử dụng một Node hiện có. ứng dụng js và Dockerize nó.
‫Một lần nữa, bạn không thực sự phải biết bất cứ điều gì thực sự về Node. js khác ngoài việc nói rằng đây là một ứng
‫dụng web và tôi sẽ cung cấp cho bạn một số thông tin và bạn sẽ cần tạo một Dockerfile
‫từ nó.
‫Thực sự, tổng quan ở đây là bạn sẽ tạo một Dockerfile và bạn sẽ
‫cố gắng xây dựng nó. Sau đó, bạn sẽ thử kiểm tra nó trong một thùng chứa. Sau đó, một khi bạn làm điều đó và làm cho nó
‫hoạt động, thì bạn có thể đẩy nó lên Docker Hub. Sau đó, chúng tôi sẽ xóa nó cục bộ. Sau đó, chúng
‫tôi sẽ chạy nó một lần nữa. Thực sự mong đợi, đặc biệt là phần xây dựng và thử nghiệm này, sẽ lặp đi lặp lại.
‫Rất hiếm khi tôi có được Dockerfile chính xác trong lần chụp đầu tiên.
‫Sau đó, tôi sẽ cố gắng xây dựng nó và tôi sẽ gặp lỗi xây dựng. Sau đó, tôi sẽ tiếp tục thay đổi nó và sau đó xây dựng
‫lại nó cho đến khi tôi bắt đầu hoạt động và hoàn thành. Sau đó, tôi sẽ thử một bài kiểm tra trong một
‫thùng chứa và nó không phải lúc nào cũng hoạt động ngay lần đầu tiên. Vì vậy, tôi sẽ phải thay đổi lại Dockerfile, và xây dựng lại nó, sau
‫đó tạo một vùng chứa khác từ nó.
‫Vì vậy, hãy mong đợi quá trình đó và bạn sẽ học được rất nhiều điều khi chỉ làm việc đó một mình.
‫Đối với nhiệm vụ này, tệp thực tế mà bạn sẽ bắt đầu nằm trong thư mục
‫Dockerfile gán 1, trong thư mục gốc của kho lưu trữ của chúng tôi mà bạn đã tải xuống từ
‫GitHub, cùng một tệp mà chúng tôi đã làm việc. Và lưu ý rằng chúng tôi sẽ sử dụng thực sự một hình ảnh chính thức,
‫có nghĩa là sẽ có rất nhiều tài liệu tốt về cách sử dụng nó. Và điều đó bao gồm Dockerfile cho hình ảnh
‫chính thức.
‫Nếu bạn còn nhớ tôi đã đề cập đến Alpine như một bản phân phối Linux rất nhỏ, thì đó
‫là bản mà tôi muốn bạn sử dụng ở đây. Bạn sẽ sử dụng một phiên bản cụ thể của Node mà họ sẽ
‫liệt kê trên Docker Hub, đó là phiên bản 6. phiên bản x. Bạn có thể sử dụng bất kỳ tùy chọn nào bên dưới nhánh 6. Kết quả kiểm tra mong đợi là
‫bạn thực sự có thể hiển thị nó trên trình duyệt web cục bộ của mình bằng cách sử dụng localhost.
‫Sau đó, khi bạn làm cho nó hoạt động cục bộ, bạn sẽ thực sự gắn thẻ nó bằng một tên riêng để nó sử dụng tên tài
‫khoản Docker Hub của bạn và một tên repo mới mà bạn có thể tự tạo. Bạn sẽ đẩy nó lên
‫Docker Hub. Sau đó, khi bạn đã truy cập Docker Hub và
‫kiểm tra xem nó ở đó và có vẻ chính xác, sau đó xóa hình ảnh cục bộ ra khỏi bộ nhớ cache của bạn và chúng
‫tôi sẽ chạy vùng chứa lần cuối để chúng tôi thực sự tải xuống lại từ Docker Hub và sau đó chạy nó chỉ để
‫đảm bảo rằng mọi thứ đều như mong đợi. Cũng giống như các bài tập khác,
‫nếu bạn gặp khó khăn, và bạn cũng không sao, hãy nhớ rằng bài giảng tiếp theo, thực sự là tôi tự thực hiện bài
‫tập này và tôi có thể làm như thế nào. Giống như các nhiệm vụ khác, sẽ có một số lựa
‫chọn và cách để thực hiện nó, bởi vì một lần nữa, đây không phải là một môn khoa học chính xác.
‫Dockerfile của bạn có thể không giống hoàn toàn với Dockerfile của tôi, nhưng nếu nó được xây dựng chính xác mà không
‫có lỗi và sau đó bạn nhận được trang web hoạt động trên trình duyệt web với localhost, thì tôi sẽ gọi đó là
‫một thành công.
‫Chúc các bạn may mắn và hẹn gặp lại trong bài giảng tiếp theo.