Làm cách nào để triển khai WordPress trong Docker?

Vẻ đẹp của Docker là ứng dụng của bạn trở nên di động như thế nào. Ngoài ra, nó còn cho phép kiểm soát phiên bản toàn bộ phiên bản của chúng tôi, cung cấp một cơ chế để khôi phục, cập nhật và kiểm tra nhanh chóng. Hướng dẫn này sẽ chỉ cho bạn cách lưu trữ trang web WordPress của bạn với Docker bằng cách tạo một hình ảnh cho nó và triển khai nó

Chạy WordPress trong Docker

Ví dụ đơn giản nhất về việc chạy một trang web WordPress trong Docker là kéo hình ảnh chính thức của WordPress xuống

docker pull wordpress

Nếu bạn muốn sử dụng một phiên bản cụ thể của WordPress, chúng tôi có thể chỉ định phiên bản đó khi kéo một hình ảnh. Ví dụ: chúng ta có thể kéo xuống phiên bản 4. 9. 5

docker pull wordpress:4.9.5

Để chạy bộ chứa WordPress từ hình ảnh chúng tôi đã kéo xuống, chúng tôi chạy lệnh sau

docker run -d -p 80:80 wordpress:4.9.5

Xác minh rằng hình ảnh đang chạy bằng cách sử dụng lệnh docker ps. Đầu ra sẽ hiển thị cho bạn trạng thái vùng chứa, tên và thông tin mạng

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
41442d5c2e9b        wordpress:4.9.5     "docker-entrypoint.s…"   3 seconds ago       Up 2 seconds        0.0.0.0:80->80/tcp   awesome_tu

Tuyệt quá. Chúng tôi có thể thấy bộ chứa WordPress của chúng tôi đang chạy. Hãy kiểm tra xem chúng ta có thể truy cập trang web từ trình duyệt web không

Tuyệt quá. Chúng tôi có thể thấy bộ chứa WordPress của chúng tôi đang chạy. Hãy kiểm tra xem chúng ta có thể truy cập trang web từ trình duyệt web không

Có vẻ như mọi thứ đang hoạt động. Chúng tôi có thể triển khai một trang web WordPress mới, định cấu hình và đăng nội dung. Nhưng nếu bạn muốn có một cấu hình tùy chỉnh ngay lập tức, thay vì cài đặt vanilla thì sao?

Tạo Dockerfile của bạn

  1. Tạo không gian làm việc của bạn để xây dựng một hình ảnh mới.
    mkdir ~/Workspace/Docker/Wordpress
  2. Tạo một tệp trống mới có tên Dockerfile trong không gian làm việc.
    touch ~/Workspace/Docker/Wordpress/Dockerfile
  3. Mở Dockerfile trong trình soạn thảo văn bản.
    vi ~/Workspace/Docker/Wordpress/Dockerfile
  4. Thêm các dòng sau
  5. Lưu các thay đổi của bạn và thoát khỏi trình soạn thảo văn bản

  6. Xây dựng hình ảnh WordPress tùy chỉnh của bạn. ________số 8

Chạy Bộ chứa Docker WordPress tùy chỉnh của bạn

Hãy chạy một container dựa trên hình ảnh Docker mới của chúng tôi

  1. Bắt đầu vùng chứa mới dựa trên hình ảnh của bạn.
    docker run -d -p 80:80 myblog/wordpress:1.0.0
  2. Sử dụng docker ps để xác minh vùng chứa đang chạy.
    docker ps
    docker pull wordpress:4.9.5
    1
  3. Mở một trình duyệt web và kiểm tra trang web có thể truy cập

Tùy chỉnh hình ảnh WordPress của bạn

Chúng tôi đã tạo một hình ảnh mới dựa trên hình ảnh chính thức của WordPress. Tuy nhiên, không có sự khác biệt giữa hai. Hãy tùy chỉnh của chúng tôi để phù hợp với nhu cầu của chúng tôi

Chúng tôi sẽ tạo hình ảnh mới với chủ đề được cài đặt sẵn. Chúng tôi cũng sẽ thêm một vài plugin

  1. Trong không gian làm việc của hình ảnh Docker của bạn, hãy tạo một thư mục mới cho chủ đề của bạn.
    docker pull wordpress:4.9.5
    2
  2. Tạo một thư mục mới cho các plugin của bạn.
    docker pull wordpress:4.9.5
    3
  3. Giải nén chủ đề của bạn vào thư mục chủ đề hoặc sao chép nó từ kho lưu trữ của bạn.
    docker pull wordpress:4.9.5
    4
  4. Giải nén từng plugin trong thư mục plugin.
    docker pull wordpress:4.9.5
    5
  5. Sử dụng hướng dẫn COPY Dockerfile để sao chép chủ đề và plugin vào hình ảnh của bạn trong quá trình xây dựng. Mở Dockerfile của bạn và thêm các dòng sau____16

Làm cho chủ đề, plugin và nội dung tải lên của bạn bền bỉ

Vấn đề với việc gieo hình ảnh WordPress của bạn bằng các chủ đề, plugin và nội dung tải lên của bạn là mọi thay đổi đối với chúng sẽ không tồn tại. Điều này là do bộ chứa Docker là tạm thời — tất cả các thay đổi đối với nó trong khi chạy sẽ bị mất khi bộ chứa bị dừng

Bằng cách sử dụng tính năng khối lượng của Docker, chúng tôi có thể đảm bảo tất cả các thay đổi đối với các thư mục nhất định được giữ nguyên khi chúng tôi khởi động lại vùng chứa

  1. Mở Dockerfile của bạn trong trình soạn thảo văn bản.
    docker pull wordpress:4.9.5
    7
  2. Thêm một khối lượng cho các chủ đề, plugin của bạn. và tải lên các thư mục WordPress.
    docker pull wordpress:4.9.5
    8
  3. Lưu các thay đổi của bạn và thoát khỏi trình soạn thảo văn bản
  4. Xây dựng phiên bản mới cho hình ảnh WordPress của bạn.
    docker pull wordpress:4.9.5
    9

Hãy chạy hình ảnh mới và kiểm tra xem tất cả các thay đổi đối với chủ đề, plugin hoặc nội dung tải lên có liên tục không

  1. Bắt đầu một vùng chứa mới dựa trên hình ảnh mới nhất của bạn.
    docker run -d -p 80:80 wordpress:4.9.5
    0
  2. Xác minh rằng vùng chứa đang chạy.
    docker ps
    docker run -d -p 80:80 wordpress:4.9.5
    2
  3. Mở trang web WordPress trong trình duyệt web
  4. Cài đặt một plugin
  5. Tải lên một vài hình ảnh
  6. Dừng vùng chứa WordPress của bạn. Trước tiên, xác định ID hình ảnh docker bằng lệnh docker ps và sử dụng nó với lệnh dừng docker.
    docker ps
    docker run -d -p 80:80 wordpress:4.9.5
    4
  7. Xác minh rằng vùng chứa không còn chạy nữa.
    docker ps
    docker run -d -p 80:80 wordpress:4.9.5
    6
  8. Xem nội dung của các plugin, chủ đề và thư mục tải lên.
    docker run -d -p 80:80 wordpress:4.9.5
    7
  9. Bắt đầu một thùng chứa WordPress mới dựa trên hình ảnh của bạn.
    docker run -d -p 80:80 wordpress:4.9.5
    0
  10. Mở trang web WordPress của bạn trong trình duyệt web
  11. Xác minh rằng plugin và hình ảnh của bạn vẫn có sẵn

Chỉ định mục tiêu gắn kết

Hiện chúng tôi có bộ lưu trữ liên tục cho các phần của trang web WordPress cần tồn tại lâu hơn vòng đời của vùng chứa của chúng tôi. Tất cả các ổ đĩa được ghi vào một vị trí không xác định trên hệ thống tệp do Docker quản lý khi chúng được tạo. Để chỉ định vị trí trên hệ thống tệp của bạn mà bạn muốn các ổ đĩa được gắn từ đó, bạn có thể làm như vậy bằng cách sử dụng cờ

docker ps
6

docker run -d -p 80:80 wordpress:4.9.5
9
  1. Mở trang web WordPress của bạn trong trình duyệt web của bạn bằng cách điều hướng đến http. //máy chủ cục bộ/
  2. Xác minh chủ đề của bạn có sẵn
  3. Xác minh plugin của bạn có sẵn
  4. Tải một số hình ảnh lên phiên bản WordPress của bạn
  5. Từ dòng lệnh, xác minh rằng hình ảnh bạn đã tải lên có sẵn trong thư mục tải lên của bạn

Hạ đặc quyền của vùng chứa của bạn

Vùng chứa của bạn sẽ chạy dưới dạng Root theo mặc định. Điều này có thể dẫn đến các lỗ hổng bảo mật không mong muốn có thể dễ dàng bị cản trở bằng cách thay đổi người dùng mà vùng chứa chạy dưới dạng

Vùng chứa của bạn sẽ chạy dưới dạng Root theo mặc định. Điều này có thể dẫn đến các lỗ hổng bảo mật không mong muốn có thể dễ dàng bị cản trở bằng cách thay đổi người dùng mà vùng chứa chạy dưới dạng

Dockerfile có hướng dẫn NGƯỜI DÙNG cho phép bạn chỉ định người dùng có ít đặc quyền nhất cần thiết để chạy vùng chứa của bạn. Nếu bạn đang gắn ổ đĩa từ hệ thống tệp của mình, người dùng hoặc nhóm mà nó là thành viên sẽ cần quyền truy cập vào các thư mục

  1. Tạo người dùng mới cho vùng chứa WordPress của bạn.
    docker ps
    0
  2. Cấp quyền sở hữu các chủ đề, plugin và thư mục tải lên mà vùng chứa sẽ gắn từ đó cho người dùng mới của chúng tôi.
    docker ps
    1
    docker ps
    2
    docker ps
    3
  3. Thêm chỉ thị NGƯỜI DÙNG vào Dockerfile của bạn.
    docker ps
    4

Vận hành Container trong Sản xuất

Trong môi trường sản xuất, chúng tôi muốn đảm bảo rằng vùng chứa của bạn luôn chạy. Ví dụ: trang web WordPress của chúng tôi sẽ có thể tồn tại khi xảy ra sự cố vùng chứa và khởi động lại hệ thống

Chúng ta có thể đạt được điều này theo một số cách. Cách tiếp cận đơn giản nhất là đặt chính sách khởi động lại của vùng chứa. Các chính sách sau đây có thể được sử dụng

off (Default)A container will not be restarted automaticallyon-failureA container will restart automatically after a failure. A limit can be applied by appending : to the end. For example, limiting restarts to 5 failures only we would use on-failure:5.unless-stoppedA container will always restart automatically unless it has been manually stopped.alwaysThe container will always restart itself

Một chính sách tốt để bắt đầu là chính sách trừ khi dừng. Điều này luôn đảm bảo vùng chứa được lên lịch chạy, trừ khi chúng tôi dừng vùng chứa đó vì lý do quản trị

Chúng tôi đặt chính sách khi vùng chứa bắt đầu sử dụng cờ -restart theo sau là chính sách. Ví dụ sau đây cho bạn thấy cách đặt chính sách khởi động lại thành trừ khi dừng

docker ps
5

Đặt tất cả lại với nhau, lệnh docker của chúng tôi để chạy WordPress sẽ giống như sau

Bây giờ, khả năng bảo trì bắt đầu trở thành một vấn đề nếu chúng ta phải tiếp tục ghi nhớ để thực hiện một lệnh dài như vậy. Chúng ta có thể đơn giản hóa tất cả bằng cách giới thiệu docker-compose

Sử dụng Docker Compose

Docker soạn thảo là một công cụ được tích hợp trong Docker cho phép chúng tôi xác định các điều kiện bắt đầu của các vùng chứa của chúng tôi

ví dụ

Để bắt đầu trang web WordPress của chúng tôi, bây giờ chúng tôi chỉ cần nhớ chạy docker-compose up. Tất cả các biến khối lượng và môi trường cần thiết để chạy trang web WordPress của chúng tôi được xác định bởi docker-compose. tập tin yml

dàn nhạc

Mặc dù chỉ cần chạy trực tiếp lệnh docker và thiết lập chính sách khởi động lại hoặc sử dụng Docker Compose là một mục nhập tốt để chạy các vùng chứa trong sản xuất, bước phát triển tiếp theo của môi trường của bạn nên là giới thiệu điều phối

Hai giải pháp điều phối phổ biến nhất cho Docker là Kubernetes và Docker Swarm

Chủ đề này nằm ngoài phạm vi của hướng dẫn này. Việc thiết lập lớp điều phối khá phức tạp và không có lợi khi chỉ chạy một vài vùng chứa. Nó sẽ không phải là một cách tối ưu hóa chi phí để chạy blog của bạn

Tuy nhiên, nếu bạn đang chạy một số lượng lớn các trang web WordPress cần tính sẵn sàng cao, thì việc điều phối sẽ rất có lợi

Làm cách nào để triển khai WordPress với Docker Compose?

Thiết lập WordPress .
Tạo một thư mục mới trong thư mục nhà của bạn có tên my_wordpress và cd vào đó. mkdir ~/my_wordpress/ cd ~/my_wordpress/
Tạo một tệp có tên docker-compose. .
Từ thư mục my_wordpress, bắt đầu bộ chứa Docker của bạn. docker-compose up -d

Làm cách nào để chạy WordPress trên localhost Docker?

Dưới đây là ba bước để thiết lập phát triển WordPress cục bộ bằng Docker. .
Tải xuống và chạy Docker
Thiết lập vùng chứa với môi trường WordPress
Thiết lập và chạy vùng chứa của bạn

Có thể cài đặt WordPress trên Docker từ dòng lệnh không?

Nó chính thức có sẵn trên Docker và cung cấp các hướng dẫn dễ dàng với hình ảnh cập nhật. Bắt đầu bằng cách tạo một thư mục mới nơi bạn muốn lưu trữ các tệp cho WordPress và MariaDB chẳng hạn trong thư mục chính của bạn. Việc tải xuống và cài đặt bộ chứa MariaDB mới đều có thể được thực hiện bằng một lệnh duy nhất.

Làm cách nào để tạo hình ảnh Docker cho WordPress?

Tạo Dockerfile của bạn .
Tạo không gian làm việc của bạn để xây dựng một hình ảnh mới. mkdir ~/Không gian làm việc/Docker/Wordpress
Tạo một tệp trống mới có tên Dockerfile trong không gian làm việc. .
Mở Dockerfile trong trình soạn thảo văn bản. .
Thêm các dòng sau
Lưu các thay đổi của bạn và thoát khỏi trình soạn thảo văn bản. .
Xây dựng hình ảnh WordPress tùy chỉnh của bạn