Thủ thuật Website

Cách thiết lập máy của bạn để sử dụng Docker và WordPress

Khi xây dựng một trang web bằng WordPress, thường thì bạn sẽ muốn có một môi trường phát triển để làm việc trước khi chuyển sang sản xuất. Có một số cách khác nhau để đạt được mục tiêu này. Trong bài viết này, chúng ta sẽ xem cách thiết lập WordPress bằng docker. Bài viết này sẽ cho rằng bạn đã quen thuộc với WordPress và sử dụng máy Mac hoặc Windows. Nếu bạn không quen với WordPress, vui lòng xem wordpress.org để biết thêm chi tiết.

Docker là gì?

LƯU Ý : Nếu bạn đã quen với Docker, bạn có thể bỏ qua bước này.

Đầu tiên chúng ta hãy nói sơ qua về docker là gì. Theo trang web docker :

Docker là một nền tảng mở để phát triển, vận chuyển và chạy các ứng dụng. Docker cho phép bạn tách các ứng dụng khỏi cơ sở hạ tầng để bạn có thể phân phối phần mềm một cách nhanh chóng. Docker cung cấp khả năng đóng gói và chạy một ứng dụng trong một môi trường cô lập lỏng lẻo được gọi là vùng chứa .

Tôi đã tô đậm từ này containerbởi vì điều đáng chú ý là dockerbản thân nó không phải là một thùng chứa. Nó cung cấp phương tiện để chạy các thùng chứa (nhiều hơn về các thùng chứa bên dưới). Bạn sẽ thường xuyên bắt gặp docker được nói đến như thể nó là một container. Một lý do cho điều này là:

Do sự phổ biến và sự phát triển bùng nổ của Docker trong cộng đồng, nó đã trở thành đồng nghĩa với các thùng chứa. Thuật ngữ “docker” có thể đề cập đến toàn bộ phần mềm, ứng dụng dòng lệnh, công ty hoặc thay thế cho từ “container”.

Một người bạn của tôi, Rob Sigrest (tìm hiểu thêm về anh ấy trên trang github của anh ấy ) đã thuyết trình và đưa ra kết luận ở trên với kinh nghiệm của anh ấy trong ngành.

Thùng đựng hàng

LƯU Ý : Nếu bạn đã quen với vùng chứa là gì, bạn có thể bỏ qua bước này.

Bây giờ chúng ta đã biết docker là phần mềm có thể chạy một container, container là gì? Theo trang web docker :

Vùng chứa là một đơn vị tiêu chuẩn của phần mềm đóng gói mã và tất cả các phụ thuộc của nó để ứng dụng chạy nhanh chóng và đáng tin cậy từ môi trường máy tính này sang môi trường máy tính khác.

Nói một cách đơn giản nhất, một vùng chứa cho phép bạn chạy mã ứng dụng được tách biệt với mã khác trên hệ thống của bạn. Điều này giúp loại bỏ nhu cầu cài đặt tất cả các phụ thuộc cần thiết vào máy cục bộ của bạn. Ví dụ, như chúng ta sẽ thấy ở phần sau, tôi sử dụng docker để chạy WordPress mà không cần phải cài đặt tất cả các phụ thuộc mà WordPress yêu cầu như apache, php và MySQL.

Một lợi ích chính mà Rob đề cập trong bài thuyết trình của mình là hình ảnh vùng chứa có thể chạy trên bất kỳ nền tảng nào với thời gian chạy vùng chứa tương thích. Vì vậy, ví dụ: bạn có thể chạy các vùng chứa đang được sản xuất trên hệ thống Linux nhưng phát triển chúng bằng cách sử dụng cùng thời gian chạy vùng chứa (như Docker) trên Windows hoặc Mac.

Cài đặt Docker

Bây giờ chúng ta đã có các định nghĩa, hãy đến với phần thú vị, cài đặt docker và chạy WordPress.

LƯU Ý : Nếu bạn đã cài đặt docker, bạn có thể bỏ qua bước này.

  1. Tải xuống và cài đặt docker desktop tại đây
  2. Thực hiện theo các hướng dẫn tất cả các cách thông qua. Tại một số điểm trong quá trình cài đặt, nó sẽ yêu cầu bạn nhập mật khẩu hệ thống của bạn. Bạn sẽ cần cung cấp cho docker mật khẩu của mình vì docker cần quyền cao hơn để thực hiện một số tác vụ.

Ghi chú bên lề:

Khi máy tính để bàn docker được cài đặt, nó sẽ cài đặt một công cụ có tên docker-compose. Điều này rất quan trọng vì chúng tôi sẽ sử dụng điều này để chạy các vùng chứa của chúng tôi.

Soạn là một công cụ để xác định và chạy các ứng dụng Docker nhiều vùng chứa. Với Soạn thư, bạn sử dụng tệp YAML để định cấu hình các dịch vụ của ứng dụng. Sau đó, với một lệnh duy nhất, bạn tạo và khởi động tất cả các dịch vụ từ cấu hình của mình. – Trang web Docker

Thiết lập WordPress

Bây giờ chúng ta đã có dockervà docker-composecài đặt, hãy bắt đầu và chạy WordPress.

LƯU Ý : Nếu bạn đã có một vị trí mà bạn muốn tạo các dự án của mình, bạn có thể bỏ qua các bước 1-3 và điều hướng đến thư mục đó.

  1. Mở thiết bị đầu cuối của bạn và nhập lệnh sau:Mac
    cd ~/
    

    các cửa sổ

    cd %userprofile%
    

Lệnh trên sẽ thay đổi thư mục ( cd) thành thư mục chính của chúng ta

  1. Tạo thư mục Dự án
    mkdir Projects
    

    Lệnh trên sẽ tạo một thư mục ( mkdir) được gọi Projectstrong thư mục chính của chúng ta.

  2. Thay đổi thư mục thành Dự án
    cd Projects
    
  3. Tạo thư mục WordPress bên trong Projectsthư mục
    mkdir wordpress
    
  4. Thay đổi thư mục thành WordPress
    cd wordpress
    

    Để xác nhận thiết bị đầu cuối của bạn sẽ trông giống như sau:
    terminal.png

  5. Mở wordpressthư mục trong trình soạn thảo văn bản của bạn. Tôi đang sử dụng VS Code.
  6. Tạo một tệp có tên docker-compose.yamlvà nhập các nội dung dưới đây:LƯU Ý : Điều quan trọng là tệp được gọi docker-compose.yamlnếu không docker-composesẽ không hoạt động.

    Tệp nguồn từ github của Brad Traversy

    version: '3'
    
    services:
      # Database
      db:
        image: mysql:5.7
        volumes:
          - db_data:/var/lib/mysql
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: password
          MYSQL_DATABASE: wordpress
          MYSQL_USER: wordpress
          MYSQL_PASSWORD: wordpress
        networks:
          - wpsite
      # phpmyadmin
      phpmyadmin:
        depends_on:
          - db
        image: phpmyadmin/phpmyadmin
        restart: always
        ports:
          - '8080:80'
        environment:
          PMA_HOST: db
          MYSQL_ROOT_PASSWORD: password 
        networks:
          - wpsite
      # WordPress
      wordpress:
        depends_on:
          - db
        image: wordpress:latest
        ports:
          - '8000:80'
        restart: always
        volumes: ['./:/var/www/html']
        environment:
          WORDPRESS_DB_HOST: db:3306
          WORDPRESS_DB_USER: wordpress
          WORDPRESS_DB_PASSWORD: wordpress
        networks:
          - wpsite
    networks:
      wpsite:
    volumes:
      db_data:
    

    Trình soạn thảo văn bản của bạn sẽ trông giống như sau:

    docker-comp-file.png

    Tệp trên docker-compose.yamlsẽ kéo ba vùng chứa MySQL:, phpmyadminvà WordPress.

    LƯU Ý PHỤ:

    Tôi sẽ không giải thích tất cả các thuộc tính ở đây, tuy nhiên tôi muốn dành một phút để giải thích về volumesvà thuộc portstính.

    Khi chúng tôi chỉ định volumes: ['./:/var/www/html'], điều này có nghĩa là docker sẽ gắn thư mục hệ thống cục bộ của chúng tôi ., nghĩa là thư mục hiện tại của chúng tôi (trong trường hợp của chúng tôi wordpress), vào /var/www/htmlbên trong vùng chứa. /var/www/htmllà nơi mã nguồn cho WordPress được lưu trữ trong vùng chứa. Điều này sẽ cho phép chúng tôi phát triển plugin hoặc chủ đề của mình trên máy cục bộ của chúng tôi và có sẵn cho vùng chứa.

    Khi chúng tôi chỉ định '8000:80'trong các portsphần của cấu hình, chúng tôi đang nói với docker ánh xạ cổng hệ thống cục bộ của chúng tôi 8000với cổng container 80. Cổng 80trong vùng chứa là cổng mà WordPress của chúng ta đang chạy. Tuy nhiên, chúng tôi muốn có thể truy cập điều này trên máy cục bộ của mình, vì vậy chúng tôi cần ánh xạ một cổng từ máy cục bộ của mình đến cổng vùng chứa đang chạy trang web.

    Bạn có thể tìm hiểu thêm về từng thuộc tính này tại trang web của dockers .

  7. Hãy quay lại thiết bị đầu cuối và điều hướng đến thư mục của chúng wordpresstôiNgười dùng Mac
    cd ~/Projects/wordpress
    

    Người dùng Windows

    cd %userprofile%\Projects\wordpress
    
  8. Bây giờ chúng ta đã ở trong thư mục wordpresscủa mình, hãy bắt đầu các vùng chứa của chúng ta
    docker-compose up -d
    

    Bước này có thể mất vài phút vì docker sẽ cần lấy tất cả các hình ảnh ở trên khỏi docker-compose.yamltệp của chúng tôi. Bạn cũng sẽ thấy đầu ra trong thiết bị đầu cuối trông giống như sau:

    docker-comp-output.png

    Bây giờ bạn sẽ bắt đầu thấy các tệp và thư mục được thêm vào thư mục wordpress.

    vs-code-output.png

    Lệnh trên sẽ bắt đầu các vùng chứa trong detached modeđó, có nghĩa là nó sẽ chạy ở chế độ nền và bạn có thể đóng thiết bị đầu cuối của mình nếu muốn khi nó đã hoàn tất tất cả các quá trình tải xuống.

    Tại thời điểm này, chúng tôi sẽ có thể truy cập trang web WordPress của mình tại http://localhost:8000và phpmyadmin tại http://localhost:8080.

    wordpress-install.png

    Chọn ngôn ngữ bạn muốn sử dụng và nhấp vào Continue.

    wordpress-step2.png

    Điền vào chi tiết trang web của bạn và nhấp vào Install WordPress.

    wordpress-step3.png

    THÀNH CÔNG!

    wordpress-step4.png

    Xin chúc mừng bạn hiện đã cài đặt WordPress bằng Docker! Bạn có thể xây dựng các plugin và chủ đề của mình như bình thường bên trong wordpress/wp-content/thư mục.

Dừng vùng chứa WordPress

Khi chúng tôi đã hoàn tất việc xây dựng trang web của mình và chúng tôi không cần các vùng chứa của mình chạy nữa, có hai cách để đạt được điều này.

  1. Điều hướng đến ~/Projects/wordpresstrong thiết bị đầu cuối của bạn và nhập lệnh bên dưới nếu bạn muốn dừng các vùng chứa đang chạy, nhưng muốn lưu tất cả dữ liệu được liên kết với trang web của bạn.
    docker-compose down
    
  2. Điều hướng đến ~/Projects/wordpresstrong thiết bị đầu cuối của bạn và nhập lệnh bên dưới nếu bạn muốn dừng các vùng chứa đang chạy và xóa tất cả dữ liệu được liên kết với trang web của bạn.
    docker-compose down --volumes
    

Sự kết luận

Có một số cách để bạn có thể làm cho WordPress chạy cục bộ, tuy nhiên, tôi nhận thấy việc sử dụng Docker làm cho nó dễ dàng hơn. Tôi có thể tin tưởng vào thực tế là tất cả các phụ thuộc phù hợp sẽ được sử dụng và tôi không phải cài đặt các ứng dụng cụ thể trên máy của mình. Nếu bạn muốn tìm hiểu thêm về những công cụ và ứng dụng tôi sử dụng để phát triển, hãy xem bài viết Thiết lập máy phát triển web của tôi .

Related Articles

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Back to top button