(Docker) 2. PHP와 mysql 연동
1. Dockerfile 수정
- 경로이동
- 명령어
cd /home/ubuntu/example/
sudo vi Dockerfile
- DOckerfile에 아래 코드를 추가 해준다.
RUN apt-get install -y php5.6-mysql
- Dockerfile 내용
FROM ubuntu:18.04
MAINTAINER Richard Kim <hiddeneventor@gmail.com>
# 사용자 interaction 을 대비
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get install -y apache2 # Install Apache Web server (Only 'yes')
RUN apt-get install -y software-properties-common
RUN add-apt-repository ppa:ondrej/php # For Installing PHP 5.6
RUN apt-get update
RUN apt-get install -y php5.6
RUN apt-get install -y php5.6-mysql
EXPOSE 80
CMD ["apachectl","-D", "FOREGROUND"]
2. Dockerfile 빌드하여 이미지 만들기
- 빌드
docker build -t example .
- image 파일 확인
docker images
3. 마운트 실행
- 호스트에 있는 home example html 폴더와
- 컨테이너 내부에 php 소스폴더를 서로 볼륨으로 마운트 시키는 과정
docker run -p 80:80 -v /home/ubuntu/example/html:/var/www/html example
4. index.php 파일 수정
<?php
$conn = mysqli_connect(
'52.79.243.241', #아이피 주소
'test', # mysql 계정
'password', # mysql 패스워드
'TEST', # 데이터베이스 이름
'9876' # 포트번호
);
if(mysqli_connect_errno()){ # 에러처리
echo "Falled to connect to MySQL: ".mysqli_connect_error();
}
$sql = "SELECT VERSION()";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
print($row["VERSION()"]);
?>
- https로 정상출력되는지 확인하여 정상출력되면 php와 mysql 연동이 성공적이라는 뜻
댓글남기기