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