资讯专栏INFORMATION COLUMN

LNMP Docker 配置(持续更新 2017-11-21)

phpmatt / 1152人阅读

摘要:原文链接目标一条命令建立环境,。这里只简单列举单容器运行方式,实际请使用。修订说明官方建议不再使用,而是使用容器网络来连接容器服务,也即容器互通。构建镜像运行容器测试访问看到页面。访问测试扩展。请访问查看。

原文链接:https://www.khs1994.com/docke...

目标:一条命令建立 LNMP 环境(MySQL、Redis、PHP-fpm、Nginx,etc)。这里只简单列举单容器运行方式,实际请使用 Docker Compose

GitHub:https://github.com/khs1994-do...

GitHub:https://github.com/khs1994-do...

修订说明

官方建议不再使用 --link,而是使用 Docker 容器网络来连接容器(服务,也即容器互通)。

官方建议不再使用 -v 或者 --volume,而是使用 --mount Docker 17.06+

准备
$ git clone --depth=1 https://github.com/khs1994-docker/lnmp-quickstart

$ cd lnmp-quickstart
创建网络
$ docker network ls

$ docker network create -d bridge lnmp
创建 Volume
$ docker volume ls

$ docker volume create lnmp-mysql-data
MySQL

环境变量含义请到这里查看:https://github.com/docker-lib...

$ docker run -dit 
   --network lnmp 
   --name mysql 
   -p 3306:3306 
   # 若只允许本地登录,可以加上监听的 IP,默认监听全部 IP
   # –p 127.0.0.1:3306:3306 
   # 设置 root 密码  
   -e MYSQL_ROOT_PASSWORD=mytest 
   # 启动时新建一个数据库
   -e MYSQL_DATABASE=test 
   # -v lnmp-mysql-data:/var/lib/mysql 
   --mount source=lnmp-mysql-data,target=/var/lib/mysql 
   mysql
Redis
$ docker run -dit 
    --network lnmp 
    --name redis 
    -p 6379:6379 
    redis:alpine
PHP7

php-fpm 官方镜像需要通过 Dockerfile 增加 PHP 扩展

增加扩展

编辑 Dockerfile 增加 PHP 扩展

FROM php:fpm-alpine3.6

RUN docker-php-ext-install pdo_mysql

RUN apk add --no-cache --virtual .build-deps $PHPIZE_DEPS 
      && pecl install redis 
      && docker-php-ext-enable redis 
      && apk del .build-deps

注意: 安装扩展可能需要依赖包,请使用 RUN apk add --no-cache PACKAGE_NAME 安装依赖。

构建镜像
$ docker build -t username/php:fpm-alpine3.6 .
运行容器
$ docker run -dit 
    --network lnmp 
    --name php7 
    # -v $PWD/app:/app 
    --mount type=bind,source=$PWD/app,target=/app,readonly 
    username/php:fpm-alpine3.6
Nginx
$ docker run -dit 
    --network lnmp 
    -p 80:80 
    -p 443:443 
    --name nginx 
    # -v $PWD/app:/app 
    --mount type=bind,source=$PWD/app,target=/app,readonly 
    # -v $PWD/conf.d:/etc/nginx/conf.d 
    --mount type=bind,source=$PWD/conf.d,target=/etc/nginx/conf.d,readonly 
    nginx:alpine
测试 LNMP
$ docker ps -a

CONTAINER ID        IMAGE                         COMMAND                  CREATED              STATUS              PORTS                                      NAMES
e77477b89a65        nginx:alpine                  "nginx -g "daemon of…"   3 seconds ago        Up 4 seconds        0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   nginx
e74dda1abdb8        username/php:fpm-alpine3.6    "docker-php-entrypoi…"   25 seconds ago       Up 26 seconds       9000/tcp                                   php7
55eb02c94a3a        redis:alpine                  "docker-entrypoint.s…"   46 seconds ago       Up 47 seconds       0.0.0.0:6379->6379/tcp                     redis
314d54410929        mysql                         "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp                     mysql

访问 127.0.0.1 看到 phpinfo 页面。

访问 127.0.0.1/redis.php 测试 PHP redis 扩展。

$ docker exec -it mysql mysql -uroot -pmytest

mysql> create database test;
Query OK, 1 row affected (0.00 sec)

访问 127.0.0.1/pdo-mysql.php 测试 PHP pdo_mysql 扩展。

docker-compose

请访问 khs1994-docker/lnmp 查看。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27958.html

相关文章

  • LNMP Docker 配置(持续更新 2017-11-21)

    摘要:原文链接目标一条命令建立环境,。这里只简单列举单容器运行方式,实际请使用。修订说明官方建议不再使用,而是使用容器网络来连接容器服务,也即容器互通。构建镜像运行容器测试访问看到页面。访问测试扩展。请访问查看。 原文链接:https://www.khs1994.com/docke... 目标:一条命令建立 LNMP 环境(MySQL、Redis、PHP-fpm、Nginx,etc)。这里只...

    cc17 评论0 收藏0
  • docker 搭建lnmp环境

    摘要:基础命令关于搜索下载查看或者删除单个删除多个删除查看信息占用关于查看重启停止杂项命令网络相关清除网络缓存查看网络列表查看详情挂载目录清除缓存查看列表查看详情系统相关系统信息查看占用清除所有包含构建失败的镜像没有被使用的网络配 docker基础命令 关于images 搜索 docker search php 下载 docker pull php:7.3.6-fpm-alpine3....

    msup 评论0 收藏0
  • docker 搭建lnmp环境

    摘要:基础命令关于搜索下载查看或者删除单个删除多个删除查看信息占用关于查看重启停止杂项命令网络相关清除网络缓存查看网络列表查看详情挂载目录清除缓存查看列表查看详情系统相关系统信息查看占用清除所有包含构建失败的镜像没有被使用的网络配 docker基础命令 关于images 搜索 docker search php 下载 docker pull php:7.3.6-fpm-alpine3....

    cucumber 评论0 收藏0
  • Linux云计算高端架构师+DevOps高级虚拟化高级进阶视频

    摘要:课程大纲开班典礼开班典礼开班典礼操作系统系统安装及启动流程操作系统系统安装及启动流程必备命令讲解必备命令讲解必备命令讲解及系统启动流程必备命令讲解及系统启动流程启动流程和用户及用户组讲解启动流程和用户及用户组讲解用户权限讲解及编辑器用户权限 课程大纲1.开班典礼(1)_rec.mp42.开班典礼(2)_rec.mp43.开班典礼(3)_rec.flv4.Linux操作系统系统安装及启动...

    Cheng_Gang 评论0 收藏0
  • PHP开发环境01 - Mac下使用Docker配置PHP环境(只限于学习)

    视频地址 学徒卡夫 - 卡夫的Mac 03 - Mac下使用Docker配置PHP环境 https://www.bilibili.com/vide... 安装 Docker https://www.docker.com/docker... 下载镜像 # 安装基础镜像 - ubuntu:14.04 # 拉取镜像(拉取镜像经常会失败,尝试几次就好了) docker pull ubuntu:14.0...

    gitmilk 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<