您的位置:首页 > 运维架构 > Docker

docker搭建LNMP环境

2017-10-16 00:00 363 查看

Mysql

获取镜像

docker pull mysql:5.7.17

相应目录

~/docker/data/mysql 数据目录

~/docker/log/mysql log目录

生成容器

docker run --name mysql -p 3306:3306 -v ~/docker/data/mysql:/var/lib/mysql  -v ~/docker/log/mysql:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -dit mysql:5.7.17

外部连接

mysql  -uroot -p123456 -h 127.0.0.1
or
docker exec -it mysql mysql -uroot -p123456

Redis

获取镜像

docker pull redis:3.2

相应目录
~/docker/data/redis 数据

~/docker/conf/redis.conf 配置文件
生成容器

docker run --name redis -p 6379:6379 -v ~/docker/data/redis:/data -v    ~/docker/conf/redis/redis.conf:/etc/redis.conf -v ~/docker/log/redis:/var/log/redis -dit redis:3.2  redis-server /etc/redis.conf

###php-fpm
获取镜像

docker pull php:7.1.8-fpm

生成容器

docker run --name php-fpm -p 9000:9000  -v ~/docker/conf/php/php.ini:/usr/local/etc/php/php.ini -v ~/www:/var/www/html -v ~/docker/log/php:/var/log/php   --link mysql:mysql --link redis:redis --privileged=true -dit php:7.1.8-fpm

安装扩展

# redis
pecl bundle -d /usr/src/php/ext redis
rm /usr/src/php/ext/redis-*.tgz
docker-php-ext-install redis
# pdo_mysql
docker-php-ext-install pdo_mysql

test
info.php

<?php
echo date("Y-m-d H:i:s")."<br />\n";
$redis = new Redis();
$redis->connect("redis","6379");  //php客户端设置的ip及端口
//存储一个 值
$redis->set("say","hello world");
echo $redis->get("say");     //应输出hello world
try {
$conn = new PDO("mysql:host=mysql;port=3306;dbname=mysql;charset=utf8", 'root', '123456');
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
//$conn->exec('set names utf8');
$sql = "SELECT * FROM `user` WHERE 1";
$result = $conn->query($sql);
while($rows = $result->fetch(PDO::FETCH_ASSOC)) {
echo $rows['Host'] . ' ' . $rows['User']."<br />\n";
}
echo phpinfo();

Nginx

获取镜像

docker pull nginx

生成容器

docker run -p 80:80  --name nginx --link php-fpm:php-fpm -v ~/www:/var/www/html -v ~/docker/conf/nginx/conf.d:/etc/nginx/conf.d -v ~/docker/log/nginx:/var/log/nginx --privileged=true -d nginx

conf.d/default.conf 默认配置文件

server {
listen       80 ;
server_name  localhost;
root         /var/www/html/;
location / {
index  index.php index.html index.htm;
autoindex  off;

if (!-e $request_filename) {
rewrite ^.*$ /index.php;
}
}

location ~ \.php$ {
fastcgi_pass   php-fpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include  fastcgi_params;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Docker LNMP Redis