DevOps/Docker

[Docker] Mysql 과 WordPress 컨테이너 만들기

석석's 2021. 10. 14. 19:00

Mysql 설치하기


- docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql mysql:5.7
    (백그라운드 모드로 3306포트로 매칭시켜서 mysql설치시 비밀번호는 빈값으로 해도되게 하고 이 이미지의 이름

    을 "mysql" 로 하며 버전은 5.7버전으로 실행한다.)   
    ** 현재 내가 mysql가지고 개발중이라 포트가 겹쳐서 개발중인 mysql task kill 로 끄고 하길 ....

 

- docker exec -it mysql mysql
    (mysql 이라는 이름을 가진 컨테이너를 실행시키고 mysql 이라는 명령어를 치겠다.)  

mysql 이미지 설치후 쉘에 접속한 모습

 

 

 

- create database wp CHARACTER SET utf8; 

  (wp라는 이름으로 데이터베이스 를 생성한다. )

  grant all privileges on wp.* to wp@'%' identified by 'wp'; 

  (-> 아이디는 wp(to wp@'%')라고 하며 비밀번호는 wp(identified by 'wp') 라고 한다.)

  flush privileges;

  (변경사항 반영)

  quit 

  (쉘에서 나가기)

DB를 생성한 모습

 

 

 


WordPress 블로그 설치하고 실행하기

- docker run -d -p 8080:80 -e WORDPRESS_DB_HOST=host.docker.internal -e WORDPRESS_DB_NAME=wp -e WORDPRESS_DB_USER=wp -e WORDPRESS_DB_PASSWORD=wp wordpress 
 

(WORDPRESS_DB_HOST=host.docker.internal ->내가정한 포트로 접속할수 있게 호스트를 설정함  mysql 포트인 3306)


(WORDPRESS_DB_NAME=wp -> DB이름은  mysql에 아까 DB 생성할때 썼던 이름인  wp가 들어간다.)
(WORDPRESS_DB_USER=wp -> DB아이디는  to wp@'%' 라고 썻던부분의 wp 이다.)  
(WORDPRESS_DB_PASSWORD=wp -> 비밀번호는 identified by 'wp' 에 해당하는 내용이다.)

 

워드프레시를 실행시킨 모습

 

8080포트에 떠있는 워드프레스 블로그에 접속한 화면

 

 

회원가입 화면

 

가입한 정보가 연결했던 mysql db에 반영된 모습