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]