>  기사  >  운영 및 유지보수  >  도커의 램프 란 무엇입니까?

도커의 램프 란 무엇입니까?

青灯夜游
青灯夜游원래의
2022-02-08 16:44:293467검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.