What is lamp in docker
In docker, LAMP refers to a combination of Linux (operating system), Apache HTTP server, MySQL (database software such as MariaDB) and PHP (Perl or Python), which is generally used to establish a Web server environment.
The operating environment of this tutorial: linux5.9.8 system, docker-1.13.1 version, Dell G3 computer.
LAMP refers to the combination of Linux (operating system), Apache HTTP server, MySQL (sometimes also refers to MariaDB, database software) and PHP (sometimes also refers to Perl or Python), which is generally very suitable for building Web Server environment.
The following describes how to use Docker to build a container containing LAMP components.
Download LAMP image
Search for LAMP images that are collected or used frequently on Docker Hub. The author recommends choosing the tutum/lamp image:
# sudo docker search -s 10 lamp tutum/lamp Out-of-the-box LAMP image (PHP+MySQL) 67 执行docker pull命令,下载镜像: # sudo docker pull tutum/lamp
Use the default method to start the LAMP container
Use the downloaded image to start a container and map the container's 8080 port and 3306 port:
# sudo docker run -d -p 8080:80 -p 3306:3306 tutum/lamp # docker ps 使用curl命令测试,可以查看到默认的应用已经启动: # curl http://127.0.0.1:8080
Deploy your own PHP Application
The default container starts a helloword application. Readers can edit the Dockerfile to create a custom LAMP application image based on this image.
Create a new working directory lamp on the host host:
# mkdir lamp # cd lamp # touch Dockerfile
Create a Dockerfile file in the php directory with the content:
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"]
Create a mirror and name it 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/
Connect to the database in the PHP program
1. Access the MySQL database in the container
Downloaded tutum/lamp The MySQL database in the image already has the default root user, and local connections do not require a password, so accessing the database in code is very simple:
<?php $mysql = new mysqli("localhost", "root"); echo "MySQL Server info: ".$mysql->host_info; ?>
2. Access the MySQL database outside the container
The default MySQL database does not support root user remote login, so the MySQL database cannot be directly accessed by the root user outside the container.
When you start a container using the tutum/lamp image for the first time, it will automatically create a MySQL user named admin and generate a random password. This password can be obtained using the docker logs command:
# sudo docker logs 9cb
Note that the admin user has the same permissions as root.
Recommended learning: "docker video tutorial"
The above is the detailed content of What is lamp in docker. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Four ways to exit Docker container: Use Ctrl D in the container terminal Enter exit command in the container terminal Use docker stop <container_name> Command Use docker kill <container_name> command in the host terminal (force exit)

Methods for copying files to external hosts in Docker: Use the docker cp command: Execute docker cp [Options] <Container Path> <Host Path>. Using data volumes: Create a directory on the host, and use the -v parameter to mount the directory into the container when creating the container to achieve bidirectional file synchronization.

Docker container startup steps: Pull the container image: Run "docker pull [mirror name]". Create a container: Use "docker create [options] [mirror name] [commands and parameters]". Start the container: Execute "docker start [Container name or ID]". Check container status: Verify that the container is running with "docker ps".

You can query the Docker container name by following the steps: List all containers (docker ps). Filter the container list (using the grep command). Gets the container name (located in the "NAMES" column).

How to restart the Docker container: get the container ID (docker ps); stop the container (docker stop <container_id>); start the container (docker start <container_id>); verify that the restart is successful (docker ps). Other methods: Docker Compose (docker-compose restart) or Docker API (see Docker documentation).

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

The methods to view Docker logs include: using the docker logs command, for example: docker logs CONTAINER_NAME Use the docker exec command to run /bin/sh and view the log file, for example: docker exec -it CONTAINER_NAME /bin/sh ; cat /var/log/CONTAINER_NAME.log Use the docker-compose logs command of Docker Compose, for example: docker-compose -f docker-com

Create a container in Docker: 1. Pull the image: docker pull [mirror name] 2. Create a container: docker run [Options] [mirror name] [Command] 3. Start the container: docker start [Container name]
