在 Ubuntu 上使用 Docker 部署与管理 LAMP 的可行方案
一 方案总览与选择
二 快速上手 多容器方式 Docker Compose
<?php
phpinfo();
version: "3.8"
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: myapp
MYSQL_USER: app
MYSQL_PASSWORD: apppass
volumes:
- mysql-data:/var/lib/mysql
networks:
- lamp
web:
build: .
ports:
- "80:80"
volumes:
- ./src:/var/www/html
networks:
- lamp
depends_on:
- db
volumes:
mysql-data:
networks:
lamp:
cd ~/lamp-app
docker compose up -d --build
docker ps
docker exec -it lamp-app-db-1 mysql -uapp -papppass myapp -e "show tables;"
三 快速上手 单体镜像方式
docker run -d \
--name lamp \
-p 8080:80 \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
tutum/lamp:latest
curl http://localhost:8080
四 关键配置与最佳实践
五 常见问题与排查