menny 发表于 2017-12-6 16:36:43

docker搭建lnmp(一)

  因为安装过程中涉及到一些修改配置文件的步骤,由于刚尝试不太会,所以这里都是通过安装好后,进入容器修改配置,最后退出重启容器。
  目录结构



docker
├── mysql
│   └── dockerfile
├── nginx
│   └── dockerfile
└── php7
└── dockerfile
  分别生成3个镜像



sudo docker build -t lemon/mysql.

sudo docker build -t lemon/php    .

sudo docker build -t lemon/nginx.
  构建三个容器
  需要注意的2个关键点
  1.要用到link命令来连接个个容器
  2.通过数据卷 使php-fpm和nginx的工作目录指向同一目录

$HOME/web:/usr/local/nginx/html


#设置root密码123456
sudo docker run --name mysql -d -p 3306:3306 -v $HOME/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 lemon/mysql

#以下关键命令 --link
#--link 连接mysql
sudo docker run --name php -d -p 9000:9000 -v $HOME/web:/usr/local/nginx/html --link mysql:mysql lemon/php

#--link 连接php
sudo docker run --name nginx -d -p 80:80 -v $HOME/web:/usr/local/nginx/html --link php:php lemon/nginx
  进入nginx容器



sudo docker exec -it nginx bash
  修改conf文件



location ~ \.php$ {
root         html;
#关键 - php容器的9000端口
fastcgi_pass   php:9000;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
include      fastcgi_params;
}
  进入php容器



sudo docker exec -it php bash
  分别修改www.conf



#监听所有9000端口
listen = 127.0.0.1
改为
listen = [::]:9000
  修改php.ini



#增加swoole
extension = swoole.so
#增加opcache配置

zend_extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=528
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=0
opcache.fast_shutdown=1
  退出容器,重启即可



sudo docker restart nginx
sudo docker restart php
  在$HOME/web 目录下新增 php文件, 通过 127.0.0.1/inde.php 可以成功访问。
  dockerfile 文件:http://files.cnblogs.com/files/loveyouyou616/docker.tar.gz
页: [1]
查看完整版本: docker搭建lnmp(一)