‫Được rồi. Đây là những câu trả lời cho việc tạo Dockerfile đầu tiên của chúng tôi. Nếu tôi đang ở 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ừ đầu khóa
‫học này, thì chúng tôi sẽ có thể chuyển sang phần gán dockerfile 1. Nếu chúng ta nhìn vào đó, tôi chỉ có
‫một tệp mà tôi thực sự quan tâm, và đó là Dockerfile.
‫Có lẽ, đây là một nguồn mà ai đó đã cung cấp cho tôi và họ là một nhà phát triển ứng dụng đang sử dụng Node. js, và tôi không thực sự biết nhiều
‫về nó, vì vậy tôi sẽ chỉ chỉnh sửa Dockerfile.
‫ĐƯỢC RỒI.
‫Nếu tôi làm theo hướng dẫn từ nhà phát triển, tôi biết điều đầu tiên tôi cần làm
‫là tôi cần lấy hình ảnh FROM của mình. Và tôi biết tôi cần sử dụng nút chính thức. Để tôi đi tra cứu nó.
‫Đúng. Có quan chức của nút.
‫Tôi cần Phiên bản 6 chạy trên Alpine. Vì vậy, có 6 Alpine.
‫Được rồi. Vì vậy, 6-alpine.
‫Được. Điều tiếp theo... Tôi cần để lộ cổng 3000.
‫Tôi giới thiệu 3000 ở đây vì đó là những gì ứng dụng được thiết kế để chạy.
‫Nhưng khi tôi chạy nó sau với docker run, tôi cần nhớ rằng tôi sẽ
‫phải sử dụng -p với cổng 80 đến cổng 3000.
‫Được rồi.
‫Cái này cần phải sử dụng trình quản lý gói để
‫cài đặt ứng dụng này, tini. Tôi sẽ sử dụng một lệnh chạy cho điều đó.
‫Sau đó, tôi sẽ tạo một danh bạ.
‫Được rồi.
‫Tôi sẽ chỉ tạo cho chúng các lệnh chạy riêng biệt ... chạy apk add,
‫và sau đó chạy mkdir.
‫ĐƯỢC RỒI. Sau đó, tôi cần sao chép trong một tệp duy nhất mà nó trông giống như vậy.
‫Vì vậy, tôi cũng có thể thay đổi thư mục làm việc thành thư mục mà chúng tôi vừa tạo.
‫Vì vậy, ứng dụng nguồn người dùng WORKDIR. Điều đó sẽ giúp tôi tiết kiệm thời gian sau này.
‫Tôi có thể làm một gói SAO CHÉP json
‫gói json. Được rồi. Sau đó, tôi cần chạy lệnh cài đặt. Có vẻ như nó sẽ là một cuộc chạy. Cái này cho biết chạy một
‫lệnh khác để dọn dẹp.
‫Được rồi.
‫Thông thường, khi bạn chạy một lệnh dọn dẹp, bạn muốn nó chạy cùng một dòng hoặc cùng một dòng chạy với cài
‫đặt thực tế.
‫Bằng cách đó, nó loại bỏ tất cả mọi thứ cùng một lúc và bạn chỉ nhận được một lớp hình ảnh.
‫Điều này là tốt nhất cho không gian hình ảnh.
‫Vì vậy, tôi sẽ thêm nó vào đây.
‫Và những gì dấu đôi &, hoặc dấu và như nó được gọi, ở đây thực sự là một điều kiện.
‫Nó nói với dòng lệnh trên Linux rằng, 'Này, nếu bạn đã thực hiện lệnh đầu tiên và thành công, thì hãy thực hiện
‫lệnh thứ hai. 'Bạn cũng
‫có thể thấy mọi người đôi khi đặt dấu chấm phẩy, và điều đó cũng tốt.
‫Sự khác biệt là dấu chấm phẩy không phụ thuộc vào việc lệnh đầu tiên có thành công hay không.
‫Nó chỉ chạy cái thứ hai bất kể.
‫Vì vậy, tôi thích ký hiệu kép và.
‫Được rồi.
‫Sao chép thêm một số tệp có vẻ như. Nếu tôi định sao chép mọi thứ, tôi sẽ chỉ làm .. Đó là một cách dễ dàng để làm điều đó.
‫Đảm bảo có một khoảng trống ở giữa.
‫Về cơ bản điều đó
‫nói rằng, 'Sao chép mọi thứ từ thư mục hiện tại của tôi trên máy chủ lưu trữ vào thư mục làm việc hiện tại trong hình ảnh. ' ĐƯỢC RỒI.
‫Tôi xuống người cuối cùng.
‫Và cái này trông hơi phức tạp.
‫Tôi có bốn phần khác nhau của lệnh mà tôi cần chạy ở đó.
‫Vì vậy, với định dạng này, tôi cần chạy tini, sau đó là dấu phẩy.
‫Vì vậy, đây là một định dạng JSON.
‫Khổ thơ lệnh cụ thể này. -, nút bin www.
‫Và nếu tôi tò mò về điều đó, tôi
‫luôn có thể truy cập trình duyệt của mình và chạy docker hoặc xây dựng cmd docker.
‫Và tôi cá là bạn tham khảo Dockerfile. Và đây
‫trên trang này, tôi có thể vào cmd. Và nó nói về hình thức chính xác. Nếu bạn đọc đến đây, bạn sẽ thực
‫sự nhận thấy rằng có một thứ gọi là dạng shell. Và cũng có điều gì đó họ đang đề
‫cập về một điểm vào.
‫Chúng ta sẽ nói về điều đó ở phần sau của khóa học trong phần Dockerfile nâng cao hơn.
‫Nhưng hiện tại, điều này là tốt.
‫Hãy cố gắng xây dựng nó. chế tạo docker. Tôi không thực sự quan tâm tôi gọi nó là gì ngay bây giờ.
‫Tôi chỉ đang cố gắng kiểm tra bản dựng và thường các bản dựng của tôi không hoạt động trong lần đầu tiên. Vì vậy, tôi
‫sẽ gọi nó là testnode. Tôi sẽ xây dựng thư mục này.
‫ĐƯỢC RỒI.
‫Có vẻ như nó được xây dựng chính xác.
‫Hãy xem nếu bạn có thể chạy nó.
‫Tôi sẽ làm một --rm bởi vì tôi
‫thực sự không quan tâm đến việc giữ nó sau khi tôi đã kiểm tra nó, vì vậy tôi sẽ làm điều đó.
‫Tôi sẽ không cần phải đặt tên cho nó.
‫Tôi cần đặt một cổng để mở cổng. Nó muốn chạy trên 80 nhưng nó nghe trên 3000. ĐƯỢC RỒI.
‫Đó thực sự là một thông điệp bình thường mà chúng
‫tôi nhận được từ tini, bên trong Alpine, vì vậy tôi sẽ không lo lắng về điều đó quá nhiều.
‫Hãy đi xem nếu nó hoạt động.
‫Ngọt. Chúng tôi sẽ thấy các bản ghi ở đó.
‫ĐƯỢC RỒI.
‫Có vẻ như là ..
‫cảm ơn, Đại úy Picard.
‫Tôi đánh giá cao những tràng pháo tay.
‫Tôi đánh giá cao sự hỗ trợ.
‫Cảm ơn.
‫Được rồi.
‫Kiểm soát c ra khỏi đó. Bây giờ, nó sẽ
‫ở đầu danh sách hình ảnh của tôi.
‫Tôi cần đổi tên nó trước khi đưa nó vào Docker Hub.
‫Vì vậy, thẻ docker, và tôi tin rằng định dạng là cũ và mới. Ừ.
‫Vì vậy, thẻ docker testnode.
‫Tôi sẽ gọi
‫nó là nút thử nghiệm bretfisher.
‫Và tôi sẽ chỉ để nó chậm nhất.
‫Vì vậy, đẩy docker, và điều này. Tất cả những gì chúng ta cần lo lắng là cái tên. Vì vậy, nút
‫kiểm tra Bretfisher của docker push bretfisher.
‫Được rồi. Hãy đến Docker và xem xét.
‫Chúng tôi bắt đầu, thử nghiệm nút.
‫ĐƯỢC RỒI.
‫Tôi sẽ xóa màn hình và hình ảnh docker ls.
‫Và, nó ở đó. Tôi sẽ xóa nó, thử nghiệm bretfisher hình ảnh
‫docker rm.
‫Được rồi. Bây giờ tôi thực sự sẽ chạy nó, docker container chạy --rm -p 80
‫3000 giống như trước đây.
‫Sau đó, tôi thực sự sẽ gọi nó là nút thử nghiệm bretfisher.
‫Điều đó sẽ tải xuống và chạy nó.
‫Được rồi.
‫Nếu tôi quay lại trình duyệt của mình, localhost, thì nó ở đó. Tôi có thể nhấn làm mới chỉ để đảm bảo.
‫Đúng. Mát mẻ.