WordPress + MariaDB + phpMyAdmin¶
docker-compose.yml
version: '3.7'
services:
  db:
    image: mariadb:10.6.4-focal
    volumes:
      - ${HOME}/temp/wmp:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: password
  wordpress:
    image: wordpress:5.7.1
    volumes:
      - ${HOME}/temp/wmp:/var/www/html
    ports:
      - "8000:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: password
      WORDPRESS_DB_NAME: wordpress
    depends_on:
      - db
  phpmyadmin:
    image: phpmyadmin/phpmyadmin:5.0.2
    ports:
      - "8080:80"
    environment:
      PMA_HOST: db
      PMA_PORT: 3306
    depends_on:
      - db
 
 
MariaDB 접속¶
# mariaDB 컨테이너 접속
docker exec -it MariaDB_container_ID
# MariaDB 연결
mysql -uroot -p  #그리고 MARIADB_ROOT_PASSWORD 입력
show databases; : 데이터베이스 확인 (위 compose에서 설정한 wordpress database 확인 가능)

# 데이터베이스 사용 (use mysql)
use Database_Name;
# 데이터베이스 테이블 조회
show tables;
# user테이블에서 host, user 조회 (wordpress 계정 확인 가능)
select host , user from user;
 
MariaDB Environment Variables¶
Info
One of MARIADB_RANDOM_ROOT_PASSWORD, MARIADB_ROOT_PASSWORD_HASH, MARIADB_ROOT_PASSWORD or MARIADB_ALLOW_EMPTY_ROOT_PASSWORD (or equivalents, including *_FILE), is required.
| Env | Description | 
|---|---|
| MARIADB_ROOT_PASSWORD/MYSQL_ROOT_PASSWORD/MARIADB_ROOT_PASSWORD_HASH | MariaDB root Super-user 계정의 암호 설정 | 
| MARIADB_ALLOW_EMPTY_ROOT_PASSWORD/MYSQL_ALLOW_EMPTY_PASSWORD | root 유저의 blank password로 컨테이너 시작 | 
| MARIADB_RANDOM_ROOT_PASSWORD/MARIADB_RANDOM_ROOT_PASSWORD | root 유저에 대한 임의의 초기 암호 생성 | 
| MARIADB_ROOT_HOST/MYSQL_ROOT_HOST | 생성된 루트 유저의 호스트 이름 설정 | 
| MARIADB_MYSQL_LOCALHOST_USER/MARIADB_MYSQL_LOCALHOST_GRANTS | mysql@localhot 데이터베이스 유저 생성 (health check 및 backup script에 유용)  Default, 유저는 USAGE 권한을 받으며 추가적으로 글로벌 권한 설정 가능 | 
| MARIADB_DATABASE/MYSQL_DATABASE | 이미지 시작시 생성될 데이터베이스의 이름 | 
| MARIADB_USER/MYSQL_USER, /MARIADB_PASSWORD/MYSQL_PASSWORD/MARIADB_PASSWORD_HASH | -새로운 유저 생성 및 암호 설정 (유저 생성을 위해서는 user/password 둘 다 필요) -Default, 데이터베이스에 대한 모든 액세스 권한 부여 GRANT ALL -Default,  MARIADB_ROOT_PASSWORD*변수로 지정된 암호 생성 | 
| MARIADB_INITDB_SKIP_TZINFO/MYSQL_INITDB_SKIP_TZINFO | 값을 지정하면, 표준 시간대 로드 비활성화 Default, entrypoint script는 자동으로  CONVERT_TZ()에 필요한 표준 시간대 데이터 로드 | 
| MARIADB_AUTO_UPGRADE/MARIADB_DISABLE_UPGRADE_BACKUP | MariaDB 서버 시작 전 업그레이드 실행 | 
WordPress Environment Variables¶
| Env | Description | 
|---|---|
| WORDPRESS_DB_HOST | |
| WORDPRESS_DB_USER | |
| WORDPRESS_DB_PASSWORD | |
| WORDPRESS_DB_NAME | |
| ... | 
phpMyAdmin Environment Variables¶
| Env | Description | 
|---|---|
| PMA_ARBITRARY | 1로 설정하면, 임의의 서버 연결 허용 | 
| PMA_HOST | MySQL 서버의 주소/호스트 이름 정의 | 
| PMA_VERBOSE | MySQL 서버 상세 정의 | 
| PMA_PORT | MySQL 서버의 포트 정의 | 
| PMA_HOSTS | MySQL의 (쉼표로 구분된) 주소/호스트 이름 목록 정의 | 
| PMA_PORTS | MySQL의 (쉼표로 구분된) 포트 목록 정의 | 
| PMA_VERBOSES | MySQL의 상세 이름을 쉼표로 구분하여 정의 | 
| PMA_USER/PMA_USER | config authentication에서 사용할 username 및 password 정의 | 
| ... | 
Quote
- Docker-hub• WordPress• MariaDB• phpMyAdmin- Useful Github• 1• 2
- Useful
- Useful Github