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]

最新文章

  1. linux下安装oracle
  2. LeetCode121:Best Time to Buy and Sell Stock
  3. jquery的getjson与jsonp
  4. java中的包装类与装箱拆箱定义
  5. 解决CAS单点登录出现PKIX path building failed的问题
  6. SQL SERVER 2005 同步复制技术(转)
  7. Git - error: RPC failed; result=22, HTTP code = 401 fatal: The remote end hung up unexpectedly
  8. Mac系统安装Aircrack-ng破解wifi密码(2)
  9. Java之分支和循环
  10. 一、Kubernetes系列之介绍篇
  11. python 试题
  12. tensorflow models api:ValueError: Tensor conversion requested dtype string for Tensor with dtype float32: 'Tensor("arg0:0", shape=(), dtype=float32, device=/device:CPU:0)'
  13. WebPackBrows
  14. python之各种装饰器的使用
  15. [Swift]扩展UIColor:实现十六进制颜色字符串与UIColor之间的相互转换
  16. BZOJ1115[POI2009]石子游戏——阶梯Nim游戏
  17. 【WPF】图片按钮的单击与双击事件
  18. python range用法
  19. linux系统配置参数修改
  20. centos7下elasticSearch安装配置

热门文章

  1. python可变参数类型 a,*args,**kwargs
  2. md5加密 和拉钩网的登录
  3. 为什么 String 在 Java 中是不可变的(终极答案)
  4. SSOJ 317 Fast Ride
  5. Charles 抓 HTTPS 包
  6. MVC:页面提交JQ动态生成的输入框的值得解决方案:
  7. SHELL自动化--接口测试
  8. Ansible--03 ansible 变量
  9. Nginx 常用基础模块
  10. mybatis 自定义查询语句