‫ĐƯỢC RỒI.
‫Đây là tôi đang thực hiện bài tập 2. Tôi đã mở ba ô ở đây.
‫Tôi đã ở bên trái, nơi tôi có thể chạy các lệnh soạn docker. Bạn có thể thấy trong thư mục này, đó là
‫thư mục bạn đang bắt đầu. Readme cho tôi biết làm thế nào để vượt qua nó.
‫Sau đó, tệp Dockerfile trống và tệp soạn docker trống.
‫Sau đó, ở bên phải của tôi, tôi đã mở Vim để tôi có thể xem các tệp của mình mà tôi cần chỉnh sửa ở trên cùng. Sau đó, xuống bên dưới tôi có
‫hướng dẫn.
‫Đầu tiên, tôi cần tập trung vào Dockerfile.
‫Nó nói rằng tôi cần thực hiện một từ drupal 8. 2. Sau đó, tôi cần chạy để cài đặt Git. Apt nhận bản cập nhật.
‫cập nhật.
‫Nhân tiện, cài đặt -y ... the -y có nghĩa
‫là tự động nói có.
‫Và theo cách đó, nó sẽ tự động ... nó sẽ không nhắc cài đặt Git.
‫Và điều này nói về một số dọn dẹp thích hợp.
‫Vì vậy, bất cứ khi nào bạn sử dụng apt-get, apt-get sẽ thực sự tạo ra một bộ đệm ẩn khi bạn thực hiện cập nhật apt-get.
‫Vì vậy, chúng tôi thực sự muốn xóa bộ nhớ cache đó vì nó có ít nhất 10MB chiếm hình ảnh của
‫chúng tôi mà chúng tôi không cần.
‫Trong trường hợp này, tôi có thể sử dụng dấu gạch chéo ngược, có nghĩa là bao gồm dòng tiếp theo trong lệnh này. Và sau đó là các ký hiệu
‫&& ... hoặc ký hiệu
‫và ký hiệu và ... đang nói với tôi rằng nếu lệnh đầu tiên thành công, thì hãy thực hiện lệnh này.
‫Và thực sự chúng ta có một cái ở đây.
‫Vì vậy, đó thực sự là lệnh thứ ba mà tôi sẽ thực hiện. Xóa các tệp cụ thể này.
‫Đó là một điều khá phổ biến. Bạn thấy điều này trong rất nhiều hình ảnh.
‫Tôi chỉ thêm nó vào tất cả các hình ảnh của mình chỉ để giữ cho chúng sạch sẽ.
‫Nó không thực sự là một yêu cầu để làm cho nó hoạt động.
‫Nó chỉ ở đó để giữ cho nó sạch sẽ.
‫Vì vậy, chúng tôi cần thay đổi thư mục làm việc cho mẫu của chúng tôi hoặc các chủ đề của chúng tôi.
‫Sau đó, chúng ta sẽ cần tạo một bản sao.
‫Tôi sẽ tiếp tục và ... sao chép và dán nó.
‫Nếu bạn là một người Git, bạn có thể thấy những điều này rất quen thuộc. Git, rõ ràng là đang kéo ... đang sao chép kho lưu
‫trữ Git cụ thể này xuống là một mẫu. Nó đang sử dụng một nhánh cụ thể. Nó sử dụng hai biến
‫này, hai tùy chọn này ở đây, mà
‫tôi đã đặt ở đó để yêu cầu nó chỉ tải xuống bản sao mới nhất và chỉ nhánh cụ thể đó. Về cơ bản, nó giúp bạn tiết kiệm rất nhiều thời gian.
‫Nó thực sự giúp bạn tiết kiệm vài phút khi tải xuống kho Git. Nếu bạn chỉ cần bản cam kết mới
‫nhất tuyệt đối và tất cả các tệp trong đó, và bạn chỉ cần
‫một nhánh cụ thể, đây có thể là tất cả những gì bạn cần khi triển khai một hình ảnh.
‫Bởi vì nếu chúng tôi định thay đổi điều đó, chúng tôi sẽ chỉ xây dựng một hình ảnh mới. Đúng?
‫Vì vậy, đó là một mẹo hay.
‫Trong trường hợp bạn đang sử dụng Git rất nhiều để xây dựng hình ảnh, nó thực sự giúp
‫bạn tiết kiệm rất nhiều thời gian và không gian vì bạn không cần toàn bộ lịch sử của kho lưu trữ trong đó. Bạn chỉ cần cam kết mới nhất.
‫ĐƯỢC RỒI.
‫Sau đó, vấn đề ở đây là những tệp này ... đây là một vấn đề phổ biến trong Docker ... rằng bất
‫kỳ lệnh nào bạn chạy ở đây, tất cả chúng sẽ chạy dưới dạng root.
‫Vì vậy, các tệp này chỉ được tải xuống và đặt trong thư mục đó dưới dạng thư mục gốc.
‫Nhưng vấn đề là máy chủ web Apache mong đợi các tệp đó là người dùng dữ liệu www.
‫Vì vậy, tôi phải thay đổi các quyền sau đó để làm cho nó hoạt động tốt.
‫Bạn không cần phải biết những lệnh này.
‫Nhưng đây là một điều rất phổ biến được hiển thị, viết tắt của thay đổi chủ sở hữu. Và -r có nghĩa là tất cả các tệp,
‫bao gồm cả thư mục con và tệp con, đối với người dùng này và nhóm này.
‫Chúng tôi sẽ giới hạn nó trong chỉ thư mục chúng tôi đã tạo.
‫Tiết kiệm cho chúng tôi vài micro giây. Sau đó, tôi cần phải thay đổi lại thư mục làm việc của mình
‫trong trường hợp ứng dụng dự kiến sẽ nằm trong thư mục làm việc mà nó đã khởi động.
‫Tôi không cần chỉ định bất kỳ thứ gì khác, như cmd hay bất cứ thứ gì, vì chúng
‫đã được chỉ định trong hình ảnh từ ...
‫hình ảnh Drupal mà tôi đang lấy từ đó. Được rồi. Hãy nghĩ rằng tôi đã hoàn thành ở đó.
‫Hãy đi tới tệp Soạn.
‫Nếu bạn giữ tệp của mình trước đây, tệp có thể trông giống như thế này. Đúng?
‫Nó có các dịch vụ, sau đó là
‫Drupal với tên hình ảnh là drupal, sau đó là các ổ đĩa, sau đó là các postgres và biến môi trường cho mật khẩu.
‫Và sau đó chúng tôi xác định các khối lượng.
‫Chúng tôi phải làm gì để
‫làm cho nó hoạt động trong tình huống này, theo hướng dẫn của chúng tôi, chúng tôi cần phải đổi tên hình ảnh.
‫Bất kỳ lúc nào, trong tệp
‫soạn thảo, khóa hình ảnh và khóa xây dựng, nó sẽ thay đổi mục đích của khóa hình ảnh.
‫Bây giờ thay
‫vì chúng tôi nói với nó, 'này, tôi muốn bạn tải xuống hình ảnh chính thức của Drupal', chúng tôi đang nói, khi chúng tôi thêm vào
‫bản dựng, chúng tôi nói, 'này, tôi muốn xây dựng từ một vị trí cụ thể trên máy cục bộ và sau đó tôi muốn gọi hình ảnh mà bạn xây dựng tên hình ảnh này. 'Bây giờ, tôi không thực sự phải chỉ định tên hình
‫ảnh.
‫Tôi có thể xóa hoàn toàn dòng hình ảnh và nó thực
‫sự sẽ tạo ra một tên được đặt tự động dựa trên cách đặt tên Soạn thư, mà bạn có thể đã nhận thấy. Bất cứ khi nào bạn sử dụng Soạn thư, nó sẽ đặt tên mọi thứ trở nên thân
‫thiện với dự án cụ thể đó.
‫Tuy nhiên, chúng tôi sẽ tiếp tục và viết mã nó ở đây.
‫Lưu ý rằng tôi đang đặt một dấu chấm cho việc xây dựng.
‫Đó chỉ là một lối tắt, một cách
‫viết tắt để nói, 'này, chỉ cần xây dựng trong thư mục này và sử dụng Dockerfile là tên mặc định. 'Tôi không cung cấp cho nó bất kỳ tùy chọn xây dựng
‫nào. Tôi không nói đó là tệp bản dựng tùy chỉnh hoặc vị trí tùy chỉnh.
‫Tôi chỉ nói với nó một cách đơn giản nhất, đó là cách chúng tôi xây dựng nó.
‫Được rồi. Đã xong.
‫Điều đó sẽ xây dựng một hình ảnh tùy chỉnh dựa trên Dockerfile của tôi. Sau đó, ở đây
‫trong postgres, tôi thực sự cần đặt một tập.
‫Chúng tôi muốn nó bảo vệ dữ liệu của chúng tôi.
‫Lý do chúng tôi muốn bảo toàn dữ liệu là nếu bạn
‫đang thử nghiệm điều này và bạn thực hiện soạn thảo docker, nó sẽ thực sự xóa cơ sở dữ liệu và sau đó chúng tôi sẽ không ...
‫khi chúng tôi bật lại, nó sẽ không có dữ liệu ở đó. Vì vậy, chúng tôi muốn đảm bảo rằng chúng tôi đang giữ dữ
‫liệu trong quá trình khởi động lại Soạn.
‫Nếu chúng ta thực hiện việc soạn thảo một docker ngay bây giờ, sau khi chúng ta có khối lượng dữ liệu này trong đó, nó sẽ không thực sự
‫xóa khối lượng dữ liệu đó, trừ khi chúng ta thực hiện a -v ở cuối, điều này cho nó biết, 'này, tôi cũng muốn xóa các tập. 'Tôi
‫nghĩ điều đó đúng.
‫Dữ
‫liệu Drupal var lib postgres Dữ liệu SQL.
‫Được rồi.
‫Vậy thì tôi cũng cần đặt nó xuống đây.
‫Dữ liệu.
‫Được rồi.
‫Tôi nghĩ chúng tôi đã sẵn sàng.
‫Đang lưu các tệp của tôi.
‫Hãy xem liệu chúng ta có thể thực hiện soạn nhạc docker không. OK, hãy kiểm tra trình duyệt localhost 8080 của chúng tôi.
‫Được rồi.
‫Nếu tất
‫cả đều hoạt động, tôi có thể xem qua cài đặt này
‫giống như chúng ta đã làm trước đây và postgres postgres mypasswd
‫postgres. Lưu lại và tiếp tục. Lần này tôi đi hơi nhanh vì tôi nghĩ bạn đã làm trước đó.
‫Tôi sẽ cấu hình trang web thật nhanh chóng.
‫ĐƯỢC RỒI.
‫Chúng
‫tôi đang ở trên trang web và các hướng dẫn cho chúng tôi biết hãy chuyển đến tab giao diện và nhận thấy rằng chúng tôi đang ở trạng thái mặc định của Bartik.
‫Chúng tôi có chủ đề đã gỡ cài đặt
‫này ở đây sẽ không tồn tại nếu chúng tôi không cài đặt nó với hình ảnh của mình.
‫Tôi có thể nhấp vào cài đặt và đặt làm mặc định.
‫Sau đó bấm trở lại trang web.
‫Tôi có một chủ đề hoàn toàn
‫mới trên trang web của mình bằng cách sử dụng khung bootstrap từ Twitter, đây là một hệ thống tạo khuôn mẫu khá phổ biến cho CSS và các
‫trang web.
‫Vì vậy, mọi thứ đều hoạt động như bình
‫thường.
‫Nếu tôi quay lại
‫và thực sự dừng việc này, hủy bỏ nó, và sau đó thực hiện một lệnh tắt, nó thực sự sẽ xóa các hình ảnh.
‫Nhưng hãy nhớ, nó sẽ không xóa dữ liệu.
‫Nếu tôi đã tạo một docker soạn lại
‫một lần nữa, điều gì sẽ xảy ra là tất cả các tệp cấu hình đó trong mô-đun và cấu hình Drupal cũng như các trang web và chủ đề, và
‫sau đó là dữ liệu thực sự trong cơ sở dữ liệu, tất cả sẽ vẫn ở đó.
‫Tôi có thể nhấn làm mới và nó vẫn hoạt động.
‫Điều tuyệt vời về cách này là
‫bạn thực sự có thể giữ cho hình ảnh và vùng chứa của bạn tương đối sạch sẽ.
‫Bằng cách đó, khi
‫bạn chuyển đổi giữa các dự án, về mặt kỹ thuật, bạn có thể loại bỏ những thứ đó và chỉ để nó yên ... các tập ... tập riêng ... không xóa dữ liệu trong chúng. Chỉ cần để yên các ổ và không xóa dữ liệu
‫của chúng.
‫Sau đó, khi bạn quay lại dự án,
‫bạn đã có tất cả dữ liệu mẫu ở đó và bạn không bắt đầu lại từ đầu.
‫Được rồi. Đó là nó.