目标:一条命令建立 LNMP 环境(MySQL、Redis、PHP-fpm、Nginx,etc)。
这里只简单列举单容器运行方式,实际请使用 Docker Compose
https://github.com/khs1994-docker/lnmp。
GitHub:https://github.com/khs1994-docker/lnmp-quickstart
修订说明
官方建议不再使用
--link
,而是使用 Docker 容器网络来连接容器(服务,也即容器互通)。官方建议不再使用
-v
或者--volume
,而是使用--mount
Docker 17.06+
准备
1 | $ git clone --depth=1 https://github.com/khs1994-docker/lnmp-quickstart |
创建网络
1 | $ docker network ls |
创建 Volume
1 | $ docker volume ls |
MySQL
环境变量含义请到这里查看:https://github.com/docker-library/docs/tree/master/mysql
1 | $ docker run -dit \ |
Redis
1 | $ docker run -dit \ |
PHP7
php-fpm
官方镜像需要通过 Dockerfile
增加 PHP 扩展
增加扩展
编辑 Dockerfile
增加 PHP 扩展
1 | FROM php:fpm-alpine3.6 |
注意: 安装扩展极有可能需要安装依赖包,请使用
RUN apk add --no-cache PACKAGE_NAME
安装依赖。
构建镜像
1 | $ docker build -t username/php:fpm-alpine3.6 . |
运行容器
1 | $ docker run -dit \ |
Nginx
1 | $ docker run -dit \ |
测试 LNMP
1 | $ docker ps -a |
访问 127.0.0.1
看到 phpinfo
页面。
访问 127.0.0.1/redis.php
测试 PHP redis
扩展。
1 | $ docker exec -it mysql mysql -uroot -pmytest |
访问 127.0.0.1/pdo-mysql.php
测试 PHP pdo_mysql
扩展。
docker-compose
请访问 khs1994-docker/lnmp 查看。