Docker PHP7 사용
어떤 이는 PHP5의 프로젝트를 PHP7로 옮겨야 한다고 한다.
Docker를 사용하여 작업 환경을 준비하기로 결정했습니다.
PHP7+apach
Docker hub은 공식적인 인상이 있기 때문에 아무것도 원하지 않는다
index.php<?php
phpinfo();
?>
$ docker run -p 8001:80 -d --name my-apache-php-app -v $PWD:/var/www/html php:7.0.2-apache
끝.
호스트http://localhost:8001/index.php
생각지도 못했어...Forbidden
You don't have permission to access /index.php on this server.
-v로 마운트된 디렉터리의perission을 찾습니다.$ docker exec -it 0529f214f6bd /bin/bash
->ここからコンテナ内
# ls -la /var/www
total 4
drwxr-xr-x. 3 root root 17 Jan 7 18:05 .
drwxr-xr-x. 12 root root 4096 Jan 7 23:17 ..
drwxrwxr-x. 2 1000 1000 39 Jan 17 18:29 html
-v로 마운트할 때
uid=1000, gid=1000, 775
그렇습니다.
그 다음에 대응하는 정책은 호스트의 SElinux를disable로 설정하거나 용기가 시작될 때 추가--privileged=true
하는 것입니다.
호스트 설정을 변경하고 싶지 않으므로 부팅 옵션을 추가합니다.docker run -p 8001:80 -d --privileged=true --name my-apache-php-app -v $PWD:/var/www/html php:7.0.2-apache
다시 한 번 방문하겠습니다.
Extension 추가
OFFICAL의 컨테이너 이미지에 Extension을 추가하는 방법은 준비되어 있습니다.
방금 런에서 직접 실행했습니다. Extension을 추가하기 위해 Docker file을 만듭니다.
mbstring을 설치해 보세요.
DockerfileFROM php:7.0.2-apache
RUN apt-get update
RUN docker-php-ext-install mbstring
위에서 설명한 대로 Docker file을 작성하고 구성합니다.$docker build -t asia.gcr.io/my_project_id/php7:0.1 .
[vagrant@host01 php7]$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
asia.gcr.io/my_project_id/php7 0.1 7c1d36229408 41 seconds ago 536.1 MB
php 7.0.2-apache 2f16964f48ba 2 weeks ago 521 MB
gcr.io/my_project_id/centos7base latest c8a648134623 4 weeks ago 196.6 MB
$ docker run -p 8001:80 -d --privileged=true --name php7 -v $PWD:/var/www/html asia.gcr.io/my_project_id/php7:0.1
여기. 에 설정된 Google Container Registry 에 저장하기 위해 태그를 asia.gcr.io/my_project_id/php7:0.1
로 설정합니다.
괜찮아,mbstring.
Container Registry에 PUSH가 있습니다.
$ gcloud docker push asia.gcr.io/my_project_id/php7:0.1
지난번에는 gcr였다.나는 미국에서 존이 PUSH를 했고 이번에는 아시아 지역에서 PUSH를 해 보았다.
Developer Constore는 바로 이런 느낌입니다.
장소는 US 및 ASIA입니다.
NGINX를 사용하면 사소한 설정을 하려면 더 노력하지 않지만 간단하게 활용할 수 있다.
Reference
이 문제에 관하여(Docker PHP7 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/zum/items/135679f7070b4afa468f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?php
phpinfo();
?>
$ docker run -p 8001:80 -d --name my-apache-php-app -v $PWD:/var/www/html php:7.0.2-apache
Forbidden
You don't have permission to access /index.php on this server.
$ docker exec -it 0529f214f6bd /bin/bash
->ここからコンテナ内
# ls -la /var/www
total 4
drwxr-xr-x. 3 root root 17 Jan 7 18:05 .
drwxr-xr-x. 12 root root 4096 Jan 7 23:17 ..
drwxrwxr-x. 2 1000 1000 39 Jan 17 18:29 html
docker run -p 8001:80 -d --privileged=true --name my-apache-php-app -v $PWD:/var/www/html php:7.0.2-apache
FROM php:7.0.2-apache
RUN apt-get update
RUN docker-php-ext-install mbstring
$docker build -t asia.gcr.io/my_project_id/php7:0.1 .
[vagrant@host01 php7]$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
asia.gcr.io/my_project_id/php7 0.1 7c1d36229408 41 seconds ago 536.1 MB
php 7.0.2-apache 2f16964f48ba 2 weeks ago 521 MB
gcr.io/my_project_id/centos7base latest c8a648134623 4 weeks ago 196.6 MB
$ docker run -p 8001:80 -d --privileged=true --name php7 -v $PWD:/var/www/html asia.gcr.io/my_project_id/php7:0.1
$ gcloud docker push asia.gcr.io/my_project_id/php7:0.1
Reference
이 문제에 관하여(Docker PHP7 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/zum/items/135679f7070b4afa468f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)