docker 安装 lnmp

docker 安装 lnmp

标签(空格分隔): php,docker

安装MySql

1 搜索镜像
docker search mysql
2 安装镜像
docker pull mysql:5.7
3 创建镜像并运行
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root --name mymysql mysql:5.7
参数:
    -d 守护进程
    -p 主机对容器的端口映射
    -e 设置环境变量 mysqlroot用户的初始密码
    --name 容器名字 但是必须是唯一
4 进入容器
docker exec -it mymysql /bin/bash
参数:
    -t 在容器里模拟终端
    -i 对容器内容标准输出进行交互
5 进入mymysql容器进行用户授权操作
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY 'root';
FLUSH PRIVILEGES;

安装PHPFPM

1 拉取镜像
docker pull php:7.1-fpm
2 创建容器
[创建主机映射容器的配置文件]
mkdir wwww
mkdir -p nginx/conf.d/default.conf  
mkdir -p php/php.ini

docker run -d -p 9000:9000 -v $PWD/www:/usr/share/nginx/html -v $PWD/nginx/conf.d:/etc/nginx/conf.d --link mymysql:mysql --name myphpfpm php:7.1-fpm

参数:
    -d 守护进程
    -p 端口映射
    -v 添加映射目录
    --name 制定容器名称
    --link 与另外一个容器建立起来联系 这样我们就可以在当前容器中去使用另外一个容器里的服务

3 在docker中安装php扩展
进入docker容器
docker exce -it myphpfpm /bin/bash
安装php扩展
docker-php-ext-install pdo_mysql
查看当前php安装成功的扩展
php -m 
退出修改主机刚刚创建的php.ini中添加
extension=php_pdo.dll

安装Nginx

1 拉去镜像
docker pull nginx
2 添加配置文件

server {
    listen  80 default_server;
    server_name _;
    root   /usr/share/nginx/html;  # 主机创建的目录

    location / {
            index index.html index.htm index.php;
            autoindex off;
    }

    location ~ .php(.*)$ {
      root   /usr/share/nginx/html/;
      fastcgi_pass myphpfpm:9000;  # 容器名称加端口
      fastcgi_index index.php;
      fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_param PATH_INFO $fastcgi_path_info;
      fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
      include  fastcgi_params;
    }

}

3 创建运行nginx
docker run -p 8080:80 -d -v $PWD/www:/usr/share/nginx/html -v $PWD/nginx/conf.d:/etc/nginx/conf.d --name mynginx nginx

参数:
-p 端口映射
-d 守护进程
-v 目录映射

基本命令

1 查看镜像
docker images

2 查看进程
docker ps

3 启动镜像
docker start 镜像名称[mymysql|myphpfpm|mynginx]

3 停止镜像
docker stop 镜像名称[mymysql|myphpfpm|mynginx]

4 杀死镜像
docker kill 镜像名称[mymysql|myphpfpm|mynginx]

5 重启镜像
docker restart 镜像名称[mymysql|myphpfpm|mynginx]

6 删除景象
docker rm 镜像名称[mymysql|myphpfpm|mynginx]

原文地址:https://www.cnblogs.com/yanweifeng/p/11233531.html