不败君

前端萌新&初级后端攻城狮

学习使用docker搭建lnmp环境

学习使用docker搭建lnmp环境

2019-10-30 18:24:16

围观(1964)

一直都想折腾学习下 docker ,但都因懒而放弃。

最近腾讯云给了台一个月的服务器,放着吃灰不如就用这台服务器折腾学习下。

顺便将 docker 搭建 lnmp 环境的过程记录下。使用的服务器是 CentOS 7.3


一、安装 docker

yum install docker

开启 docker 并设置为开机自启

systemctl  start docker.service
systemctl  enable docker.service

完成后可执行命令查看 docker 版本。

docker -—version

输出版本信息,则为安装成功:

Docker version 1.13.1, build 7f2769b/1.13.1


二、拉取镜像

(1) 获取 mysql 的镜像

docker pull mysql:5.7

创建 mysql 容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=bubaijuncom --name test_mysql mysql:5.7

命令中的 bubaijuncom 为需要设置的密码,test_mysql 为需要设置的名称。


(2) 获取 php 7.2 的镜像

docker pull php:7.2-fpm

创建 php-fpm 容器

docker run -d -v /var/nginx/www/html:/var/www/html -p 9000:9000 --link test_mysql:mysql --name test_phpfpm php:7.2-fpm


(3) 进入容器

进入到PHP容器

docker exec -it test_phpfpm /bin/bash

就会到了 var/www/html 目录,执行命令新建一个PHP文件 test.php:

touch test.php

然后退出容器

exit

到 var/nginx/www/html 目录下也会出现了个 test.php。执行命令:

vim test.php

给 test.php 写入代码:

<?php
   phpinfo();


(4) 安装 PHP 扩展

docker-php-ext-install pdo_mysql

注意,使用上面这个命令安装扩展,需要先进入到容器,也就是需要执行

docker exec -it test_phpfpm /bin/bash

进入到容器的目录才能完成安装扩展。

还有另外的安装方式,比如安装 php-redis

pecl install redis && docker-php-ext-enable redis

执行命令后会出现需要应答,可输入 no 或者直接空格回车。


(5) 获取 Nginx 镜像

docker pull nginx

如果获取镜像出现报错 not found: does not exist or no pull access 那就是没找到这个镜像,可以使用命令查找可用的镜像:

docker search nginx

创建 Nginx 容器

docker run -d -p 80:80 --name test_nginx -v /var/nginx/www/html:/var/www/html --link test_phpfpm:phpfpm --name test_nginx nginx

另外,如果需要查找已经获取的镜像,可执行命令:

docker images


(6) 配置 Nginx 支持 PHP

进入 Nginx 容器

docker exec -it test_nginx /bin/bash

cd 到 conf 配置文件目录

cd etc/nginx/conf.d/

修改配置文件 default.conf

vim default.conf

修改文件代码块(开头的井号都删掉,几个模块修改为下面这样):

location = / {
    root   /var/www/html/;
    index  index.php index.htm index.html;
}

location ~ .php$ {
    root           /var/www/html;
    fastcgi_pass   phpfpm:9000;
    fastcgi_index  index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

修改配置后,需要重新加载 Nginx:

nginx -s reload

最后退出容器

exit

至此,docker 环境已经配置完毕,访问服务器外网 IP 加 /test.php 即可看到环境信息。


三、常用命令

删除容器

docker rm id

ID 为容器的ID


删除镜像

docker rmi id

ID 为镜像的ID


查看所有运行的容器列表(可查看到容器ID)

docker ps -a


查看已经安装的镜像(可查看到镜像ID)

docker images


搜索可获取的镜像

docker search name

name 为镜像名称

本文地址 : bubaijun.com/page.php?id=144

版权声明 : 未经允许禁止转载!

评论:我要评论
发布评论:
Copyright © 不败君 粤ICP备18102917号-1

不败君

首 页 作 品 微 语