Docker中怎么部署LNMP环境

发布时间:2021-06-22 14:18:06 作者:Leah
来源:亿速云 阅读:218

这篇文章给大家介绍Docker中怎么部署LNMP环境,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

整个流程:

具体步骤

Dockerfile:

构建镜像:

docker build --tag addcn/mysql -f mysql/Dockerfile .
docker build --tag addcn/php7 -f php7/Dockerfile .
docker build --tag addcn/nginx -f nginx/Dockerfile .

启动容器:

整个流程可以看到,Nginx、PHP、MySQL三者的关系:
Nginx容器---->PHP容器,PHP容器---->MySQL容器。即容器之间是有关联的,两两容器的数据通信通过容器启动命令docker run加参数--link解决。

docker run --name mysql -p 3306:3306 -v /root/bo/data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -it addcn/mysql
docker run --name php7 -p 9000:9000 -v /var/www/html:/usr/local/nginx/html --link mysql:mysql -it addcn/php7
docker run --name nginx -p 80:80 -v /var/www/html:/usr/local/nginx/html --link php7:php7 -it addcn/nginx

测试 PHP & MySQL:

vi /var/www/html/test.php

<?php
//date
echo date("Y-m-d H:i:s")."<br />\\n";

//mysql
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";
}

//phpinfo
phpinfo();
?>

客户端浏览:
http://192.168.8.36/test.php
![Docker运行PHP及输出MySQL表][1]
[1]: https://cache.yisu.com/upload/information/20210524/347/781130.png

Q&A

location ~ \\.php$ {
    root           html;
    fastcgi_pass   php7:9000;  #此处为关键!!其中php7为PHP容器的名称,见启动PHP容器docker run --name指定的值
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name; #关键!!/usr/local/nginx/html为web目录
    include        fastcgi_params;
}

关于Docker中怎么部署LNMP环境就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. docker部署lnmp集群
  2. docker搭建 LNMP 环境

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

lnmp docker

上一篇:Java的构造器与方法重载有什么用

下一篇:前端工程化是什么意思

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》