您现在的位置是:首页 > Linux OSLinux OS
nginx+php+mysql+redis docker安装
比目鱼2022-08-28【Linux OS】人已围观
简介# 搜索nginx镜像https://hub.docker.com/ 在hub.docker上找到对应的镜像# 拉取nginx镜像docker pull nginx:latest# 检查镜像是否拉取成功docker images# 运行一个测试的ng
# 搜索nginx镜像
https://hub.docker.com/ 在hub.docker上找到对应的镜像
# 拉取nginx镜像
docker pull nginx:latest
# 检查镜像是否拉取成功
docker images
# 运行一个测试的nginx
docker run -d --name nginxtest nginx
# 把容器里的nginx目录复制出来,配置是放在/etc/nginx
docker cp nginxtest:/etc/nginx ./
# 把容器里的log目录复制出来,日志是放在/var/log
docker cp nginxtest:/var/log ./
# 删除测试的nginx-test
docker rm -f nginxtest
# 查看nginx配置结构
[root@localhost ~]# tree nginx
nginx
├── conf.d
│ └── default.conf
├── fastcgi_params
├── mime.types
├── modules -> /usr/lib/nginx/modules
├── nginx.conf
├── scgi_params
└── uwsgi_params
# 查看log日志结构
[root@localhost ~]# tree log
log
├── apt
│ ├── eipp.log.xz
│ ├── history.log
│ └── term.log
├── btmp
├── dpkg.log
├── faillog
├── lastlog
├── nginx
│ ├── access.log -> /dev/stdout
│ └── error.log -> /dev/stderr
└── wtmp
# 拉取php镜像
docker pull php:7.4.28-fpm
# 检查镜像是否拉取成功
docker images
# 运行一个测试的php
docker run -d --name phptest php:7.4.28-fpm
# 把容器里的php目录复制出来,进容器php -i | grep php.ini可查看配置文件目录
docker cp phptest:/usr/local/etc/php ./
# 删除测试的php-test
docker rm -f phptest
# 查看php目录
[root@localhost ~]# tree php
php
├── conf.d
│ └── docker-php-ext-sodium.ini
├── php.ini-development
└── php.ini-production
# 拉取mysql镜像
docker pull mysql:5.7.38
# 检查镜像是否拉取成功
docker images
# 运行一个测试的mysql
docker run -d --name mysqltest mysql:5.7.38
# 把容器里的my.cnf复制出来
docker cp mysqltest:/etc/my.cnf ./
# 删除测试的mysqltest
docker rm -f mysqltest
# 查看php目录
[root@localhost ~]# tree mysql
mysql
├── etc
│ └── my.cnf
[root@VM-16-14-centos web]# cat docker-compose.yml version: "3" services: nginx: image: nginx:latest container_name: "compose-nginx" restart: always ports: - "80:80" - "443:443" environment: - TZ=Asia/Shanghai depends_on: - "php" volumes: - "/web/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf" - "/web/nginx/log:/var/log/nginx" - "/web/www:/usr/share/nginx/www" networks: - net-app php: image: php:7.2.0-fpm container_name: "compose-php" restart: always ports: - "9000:9000" environment: - TZ=Asia/Shanghai volumes: - "/web/www:/usr/share/nginx/www" - "/web/php/conf.d/php.ini:/usr/local/etc/php/php.ini" networks: - net-app mysql: image: "mysql:5.7.38" container_name: "compose-mysql" environment: MYSQL_ROOT_PASSWORD: "123456" command: --default-authentication-plugin=mysql_native_password # restart: always volumes: - "/web/mysql/data:/var/lib/mysql" - "/web/mysql/etc/my.cnf:/etc/my.cnf" ports: - "3306:3306" - "33060:33060" networks: - net-app redis: image: redis:5.0.14 container_name: "compose-redis" ports: - "6379:6379" networks: - net-app networks: net-app:
docker rm -f compose-nginx docker rm -f compose-php docker rm -f compose-mysql docker rm -f compose-redis docker-compose up -d
php安装mysql组件pdo(貌似hub上的的5.6x版本安装pdo会有问题没弄通,7.x的执行下面两条命令就会通)
进入php容器
$ docker exec -it compose-php /bin/bash
执行安装
$ docker-php-ext-install pdo
$ docker-php-ext-install pdo_mysql
phpinfo()执行后有下面信息,表示pdo_mysql安装成功
PDO
PDO support | enabled |
---|---|
PDO drivers | sqlite, mysql |
pdo_mysql
PDO Driver for MySQL | enabled |
---|---|
Client API version | mysqlnd 5.0.12-dev - 20150407 - $Id: b396954eeb2d1d9ed7902b8bae237b287f21ad9e $ |
Directive | Local Value | Master Value |
---|---|---|
pdo_mysql.default_socket | no value | no value |
Tags:
很赞哦! ()
下一篇:返回列表
随机图文
-
一文搞定 | Linux共享内存原理
在Linux系统中,每个进程都有独立的虚拟内存空间,也就是说不同的进程访问同一段虚拟内存地址所得到的数据是不一样的,这是因为不同进程相同的虚拟内存地址会映射到不同的物理内存地址上。 但有时候为了让不同进程之间进行通信,需要让不同进程共享相同的物理内存,Linux通过 共享内存 来实现这个功能。下面先来介绍一下Linux系统的共享内存的使用。 -
Linux 中断的底裤之 workqueue
workqueue 是除了 softirq 和 tasklet 以外最常用的下半部机制之一。workqueue 的本质是把 work 交给一个内核线程,在进程上下文调度的时候执行。因为这个特点,所以 workqueue 允许重新调度和睡眠,这种异步执行的进程上下文,能解决因为 softirq 和 tasklet 执行时间长而导致的系统实时性下降等问题。 -
Linux 内核的网络协议栈
本文主要记录 Linux 内核网络协议栈的运行原理 -
Linux 中断所有知识点
GIC,Generic Interrupt Controller。是ARM公司提供的一个通用的中断控制器。主要作用为:接受硬件中断信号,并经过一定处理后,分发给对应的CPU进行处理。 当前GIC 有四个版本,GIC v1~v4, 本文主要介绍GIC v3控制器。