Docker에서 LAMP는 Linux(운영체제), Apache HTTP 서버, MySQL(MariaDB 등의 데이터베이스 소프트웨어), PHP(Perl 또는 Python)의 조합을 말하며 일반적으로 웹 서버 환경을 구축하는 데 사용됩니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.
LAMP는 Linux(운영 체제), Apache HTTP 서버, MySQL(때때로 MariaDB, 데이터베이스 소프트웨어라고도 함) 및 PHP(때때로 Perl 또는 Python을 나타냄)의 조합을 말하며 일반적으로 웹 구축에 매우 적합합니다. 서버 환경.
다음은 Docker를 사용하여 LAMP 구성 요소가 포함된 컨테이너를 빌드하는 방법을 설명합니다.
LAMP 이미지 다운로드
Docker Hub에서 자주 수집되거나 사용되는 LAMP 이미지를 검색하세요. 저자는 tutum/lamp 이미지를 선택할 것을 권장합니다.
# sudo docker search -s 10 lamp tutum/lamp Out-of-the-box LAMP image (PHP+MySQL) 67 执行docker pull命令,下载镜像: # sudo docker pull tutum/lamp
LAMP 컨테이너를 시작하려면 기본 방법을 사용하세요
다운로드한 이미지를 사용하여 컨테이너 하나를 시작하고 컨테이너의 8080 포트와 3306 포트를 매핑합니다.
# sudo docker run -d -p 8080:80 -p 3306:3306 tutum/lamp # docker ps 使用curl命令测试,可以查看到默认的应用已经启动: # curl http://127.0.0.1:8080
자신만의 PHP 애플리케이션 배포
기본 컨테이너는 helloword 애플리케이션을 시작합니다. 독자는 Dockerfile을 편집하여 이 이미지를 기반으로 사용자 정의 LAMP 애플리케이션 이미지를 생성할 수 있습니다.
호스트 호스트에 새 작업 디렉터리 lamp 만들기:
# mkdir lamp # cd lamp # touch Dockerfile
php 디렉터리에 다음 내용이 포함된 Dockerfile 만들기:
FROM tutum/lamp:latest RUN rm -fr /app &&git clone https://github.com/username/customapp.git /app #这里将https://github.com/username/customapp.git 地址替换为你自己的项目地址 EXPOSE 80 3306CMD ["/run.sh"]
이미지를 만들고 이름을 dockerpool/my-lamp-app으로 지정:
# docker build -t dockerpool/my-lamp-app . 利用新创建镜像启动容器,注意启动时候指定-d参数,让容器后台运行: # docker run -d -p 8080:80 -p 3306:3306 dockerpool/my-lamp-app 在本地主机上使用curl看一下自己的应用程序是不是已经正确启动: # curl http://127.0.0.1:8080/
PHP에서 프로그램에서 데이터베이스에 연결
1. 컨테이너에서 MySQL 데이터베이스에 액세스합니다
다운로드한 투텀/램프 이미지의 MySQL 데이터베이스에는 이미 기본 루트 사용자가 있으므로 비밀번호가 필요하지 않습니다. 코드에서 데이터베이스에 액세스 매우 간단함:
<?php $mysql = new mysqli("localhost", "root"); echo "MySQL Server info: ".$mysql->host_info; ?>
2. 컨테이너 외부에서 MySQL 데이터베이스에 액세스
기본 MySQL 데이터베이스는 루트 사용자의 원격 로그인을 지원하지 않으므로 외부 루트 사용자가 MySQL 데이터베이스에 직접 액세스할 수 없습니다. 컨테이너.
tutum/lamp 이미지를 사용하여 컨테이너를 처음 시작하면 admin이라는 MySQL 사용자가 자동으로 생성되고 임의의 비밀번호가 생성됩니다. 이 비밀번호는 dockerlogs 명령을 사용하여 얻을 수 있습니다.
# sudo docker logs 9cb
관리자는 사용자는 루트와 동일한 권한을 가지고 있습니다.
추천 학습: "docker 비디오 튜토리얼"
위 내용은 도커의 램프 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!