로컬로 docker로 wordpress 환경 만들기

이 기사에서는 docker를 사용하여 로컬에서 실행되는 wordpress 환경을 만듭니다.

대상


  • 가능한 한 쉽게 wordpress 환경을 만들고 싶은 사람
  • 현지에서 움직이는 wordpress 환경을 만들고 싶은 사람
  • 기존의 wordpress 개발 환경을 docker로 다시 작성하고 싶은 사람

  • 전제 조건



    docker for desktop 설치됨
    또는
    docker 및 docker compose 명령을 실행할 수 있는 작업

    절차 개요


  • 파일 및 디렉토리 만들기
  • docker-compose.yml 작성
  • 컨테이너 만들기
  • wordpress의 초기 설정

  • 파일 및 디렉토리 작성



    적절한 디렉토리에 다음 파일과 디렉토리를 작성하십시오.
    .
    ├── docker-compose.yml
    └── wordpress
    

    docker-compose.yml 작성



    docker-compose.yml에 작성할 컨테이너의 정보를 설명합니다. 환경 변수 등은 자신을 위해 변경하여 사용하십시오. 또한 mysql과 wordpress 버전은 자신에게 맞는 것을 사용하십시오.
    기본적으로 최신의 것을 사용으로 문제 없다고는 생각합니다만, latest는 그만둡시다. 다른 환경과의 일관성을 잃을 수 있습니다.

    docker-compose.yml
    version: "3" #docker-composeのバージョン
    
    services:
        db: #wordpressで使用するmysqlコンテナを作成
          name: wordpress_db
        image: mysql:5.7
        volumes: #データを永続化させるためにローカルのファイルにマウント
          - db_data:/var/lib/mysql
        restart: always
        environment: #mysqlの環境変数(自由に設定する)
          MYSQL_ROOT_PASSWORD: rootpassword
          MYSQL_DATABASE: wordpress
          MYSQL_USER: user
          MYSQL_PASSWORD: password
    
        wordpress: #wordpressを実行するコンテナを作成
            name: wordpress_server
        depends_on: #依存関係を記述
          - db
        image: wordpress:latest
        ports: #ポート番号を指定。他で使っている場合は左側を変更
          - "8080:80"
        restart: always
        volumes: #データを永続化させるためにローカルのファイルにマウント
          - ./wordpress/:/var/www/html
        environment: #wordpressの環境変数(上で作成したDBを指定)
          WORDPRESS_DB_HOST: db:3306
          WORDPRESS_DB_NAME: wordpress
          WORDPRESS_DB_USER: user
          WORDPRESS_DB_PASSWORD: password
    volumes:
      db_data:
    
    

    docker-compose의 간략한 설명



    전혀 모르는 경우는 다음을 추천합니다
    docker-compose.yml을 작성하는 방법에 대해 설명했습니다.

    중요한 포인트


  • 환경 변수 설정
    mysql의 DB 정보, wordpress에 접속하는 DB 정보를 각 컨테이너의 environment로 기술하고 있습니다.
    따라서 로컬이 아닌 데이터베이스를 사용하려면 여기를 다시 작성하면 괜찮습니다.
  • 데이터 지속성
    컨테이너를 재작성해도 데이터가 사라지지 않도록, mysql·wordpress 모두 로컬의 파일에 마운트 하고 있습니다.

  • 컨테이너 만들기



    docker-compose.yml이 있는 디렉토리에서 다음 명령을 실행하십시오.
    docker-compose up -d
    

    처음 시작할 때는 시간이 걸리지만 터미널에 다음과 같은 메시지가 표시되면 작성 완료입니다.
    뭔가 오류가 발생하면 수정하십시오. 대부분 구구루와 같은 고민을 경험한 사람이 있습니다.
    Status: Downloaded newer image for wordpress:5.7.1-php7.4-apache
    Creating wordpress-local_db_1 ... done
    Creating wordpress-local_wordpress_1 ... done
    

    wordpress 초기 설정



    http://localhost-8080.com/ 로 이동합니다.
    그러면 다음과 같은 화면이 표시되므로 표시에 따라 설정을합시다.

    컨테이너 작성 직후에는 오류가 표시될 수 있습니다. 이 경우 시간을 내어 다시 액세스하십시오.



    실행 후 디렉토리 구성



    다음과 같이 wordpress 디렉토리 아래에 파일이 작성되었습니다.
    테마등을 자작하고 싶은 경우는, 이하를 추가·수정하는 것으로 컨테이너의 환경에도 반영됩니다.
    .
    ├── docker-compose.yml
    └── wordpress
        ├── index.php
        ├── license.txt
        ├── readme.html
        ├── wp-activate.php
        ├── wp-admin
        ├── wp-blog-header.php
        ├── wp-comments-post.php
        ├── wp-config-docker.php
        ├── wp-config-sample.php
        ├── wp-config.php
        ├── wp-content
        ├── wp-cron.php
        ├── wp-includes
        ├── wp-links-opml.php
        ├── wp-load.php
        ├── wp-login.php
        ├── wp-mail.php
        ├── wp-settings.php
        ├── wp-signup.php
        ├── wp-trackback.php
        └── xmlrpc.php
    

    이 환경의 장점과 단점


  • (+) 로컬에서 소스 코드를 변경할 수 있습니다
  • (+) 환경을 쉽게 만들 수 있습니다
  • (-) 프로덕션 환경의 환경 변수 등을 변경해야합니다.
  • 좋은 웹페이지 즐겨찾기