docker pull mysql:5.7
docker pull drupal
###mysql은 5.7버전을 받아주고 drupal은 가장 최신 버전을 받아준다.
docker volume create mysql-data #DB전용 볼륨 생성
docker volume inspect mysql-data
### 아래와 같은 결과가 출력된다.
[
{
"CreatedAt": "2022-05-10T13:24:39Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/mysql-data/_data",
"Name": "mysql-data",
"Options": {},
"Scope": "local"
}
]
sudo ln -s /var/lib/docker/volumes/mysql-data/_data /mysql
###데이터베이스에 접근할 수 있는 바로가기 디렉토리를 하나 연결해준다.
docker run -d --name mysql-server -v mysql-data:/var/lib/mysql -e "MYSQL_ROOT_PASSWORD=dkagh1." -e MYSQL_USER=drupal -e "MYSQL_PASSWORD=dkagh1." -e "MYSQL_DATABASE=drupal" mysql:5.7
###생성한 볼륨을 사용하여 MySQL 컨테이너를 시작합니다.
docker volume create drupal-modules
docker volume create drupal-profiles
docker volume create drupal-sites
docker volume create drupal-themes
###도커 볼륨을 만들어 Drupal 영구 데이터를 저장
docker volume inspect drupal-modules
docker volume inspect drupal-profiles
docker volume inspect drupal-sites
docker volume inspect drupal-themes
###생성한 볼륨 확인
sudo mkdir /drupal
sudo ln -s /var/lib/docker/volumes/drupal-modules/_data /drupal/modules
sudo ln -s /var/lib/docker/volumes/drupal-profiles/_data /drupal/profiles
sudo ln -s /var/lib/docker/volumes/drupal-sites/_data /drupal/sites
sudo ln -s /var/lib/docker/volumes/drupal-themes/_data /drupal/themes
###선택적으로 더 쉬운 액세스 위치에 대한 기호 링크를 만듭니다.
docker run -d --name drupal -p 80:80 -v drupal-modules:/var/www/html/modules -v drupal-profiles:/var/www/html/profiles -v drupal-sites:/var/www/html/sites -v drupal-themes:/var/www/html/themes --link mysql-server:mysql -e MYSQL_USER=drupal -e "MYSQL_PASSWORD=dkagh1." drupal
크롬창에 리눅스 private ip 주소를 입력해서 drupal 사이트에 접속해본다.
결과 사진 |
---|
제거할 때 루트 /
에 있는 drupal과 mysql 디렉토리를 지워주는 것을 잊지말자
docker ps -a #제거할 컨테이너 id 확인
docker rm -f 497 19b #컨테이너 강제 삭제
docker volume prune #사용하지 않는 볼륨 모두 삭제
docker images #제거할 이미지 id 확인
docker rmi -f 8aa e82 #이미지 강제 삭제
cd / #루트 디렉토리로 이동
sudo rm -d -r drupal #-d는 디렉토리 제거
sudo rm -d -r mysql #-r은 디렉토리 안에 내용이 있어도 강제로 제거