docker容器安装,nginx+php+mysql+redis安装,以及docker容器安装时遇到的各种问题记录

安装docker的容器 命令:

docker pull [要安装的程序] 不加版本号, 自动安装最新

docker search [要查询的程序]

可以根据自己需求安装对应的程序

##### 安装nginx,PHP,mysql
```php
docker pull nginx 
docker pull mysql
docker pull php:5.6-fpm  自带扩展
docker pull redis
等待安装成功...
安装成功后 运行每一个命令

```php
nginx 运行命令  前面的是nginx的目录,后面的是项目的目录
docker run -dit --name=nginx -p 80:80 -p 8088:8088 -p 8089:8089 -P -v D:/env/nginx:/etc/nginx -v  D:/phpstudy_pro/WWW/:/data/www --privileged=true nginx

PHP 运行命令
docker run -dit --name=php-fpm-7.0 -p 9000:9000 -P -v D:/phpstudy_pro/WWW/:/data/www/ --privileged=true php:5.6-fpm

mysql 运行命令
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

docker run -dit --name=redis -p 6379:6379 -P  -v E:/redis.conf:/etc/redis.conf --privileged=true redis 'redis-server /etc/redis.conf'

安装php 的各种各种 扩展
docker-php-ext-install -j$(nproc) bcmath calendar exif gettext sockets dba mysqli pcntl pdo_mysql shmop sysvmsg sysvsem sysvshm

docker 安装 GD 库
由于php官方Docker镜像中没有集成GD库,需要自行安装GD库
进入docker的php-fpm容器依次运行下列命令即可安装

apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12-dev
docker-php-ext-install -j$(nproc) iconv mcrypt
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
docker-php-ext-install -j$(nproc) gd

退出并且重启容器即可!

docker 安装 pdo扩展
docker-php-ext-install pdo pdo_mysql

复制容器内文件到本地:
docker cp 容器ID:/容器内路径 本地路径

复制本地文件到容器内:
docker cp 本机目录 容器ID:容器目录

php 一条命令,安装几乎所用到的所有扩展,但是需要先把一个文件复制到docker的 php里面 (docker cp E:/aa/bb php:/user/bin/)
利用复制命令,把文件复制进去。然后执行…
install-php-extensions bz2 calendar exif gd gettext gmp imap mysqli pcntl pdo_mysql shmop sockets xmlrpc xsl zip sysvmsg sysvsem sysvshm opcache redis mongodb xdebug

更新命令,初次安装完成可能会没有常用命令
apt-get update
apt-get install -y ps 
常用docker命令:
docker restart [容器名] : 重启容器
docker start [容器名] :启动容器
docker stop [容器名] : 停止容器 
docker run [容器名] :运行容器
docker images : 查看安装的所有容器
docker exec -it [容器名] /bin/bash :进入某个容器
docker search [容器名]: 搜索某个容器

1.下载并且安装docker 安装成功后 启动docker程序
2.拉取镜像 php(fpm),nginx,mysql
3.修改配置文件,和端口,还有映射的ip —— 修改配置文件的映射路径
4.创建本地目录,例如 env/nginx,把nginx的的配置文件放进去,修改vhost的文件里的路径

别忘记修改配置文件,路径
server {
listen 80; 监听的端口号
server_name www.project.com; 要访问的域名
include conf/vhost/www/www.com; 生成的文件名
}

5.运行 生成容器,
6.完成

安装遇到的问题:

mysql 遇到的问题
1.[2054] The server requested authentication method unknown to the client 
alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;
然后在MySQL配置文件中[mysqld]下加上
default_authentication_plugin=mysql_native_password
2SERVER SENT CHARSET UNKNOWN TO THE CLIENT. PLEASE, REPORT TO THE DEVELOPERS
在mysql的配置文件 my.cnf里面加入
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8

php 遇到的问题
Cannot modify header information
简单直接的方法:在入口文件,最开始的位置: ob_start();

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要配置 PHP 环境、NginxMySQLRedis,你按照以下步骤进行操作: 1. 首,安装 DockerDocker Compose(如果尚未安)。 2. 创建一个新的目录,用于存放你的文件和配置文件。 在该目录下一个 `docker-compose.yml` 文件将以下内容复制到文件中: yaml version: '3' services: nginx: image: nginx:latest : - 80:80 volumes - ./nginx.conf://nginx/nginx.conf ./public:/var/www/html depends_on: - php php: image: php:latest volumes: - ./php.ini:/usr/local/etc/php/php.ini - ./public:/var/www/html mysql: image: mysql:latest ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=your_mysql_root_password - MYSQL_DATABASE=your_mysql_database - MYSQL_USER=your_mysql_user - MYSQL_PASSWORD=your_mysql_password volumes: - ./mysql:/var/lib/mysql redis: image: redis:latest ports: - 6379:6379 volumes: - ./redis:/data ``` 4. 创建一个 `nginx.conf` 文件,并将以下内容复制到文件中。你可以根据需要进行修改。 ```nginx events {} http { server { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } } ``` 5. 创建一个 `php.ini` 文件,并根据需要进行修改。 6. 创建一个 `public` 文件夹用于存放你的 PHP 项目文件。 7. 运行以下命令启动 Docker 容器: ```shell docker-compose up -d ``` 这将会启动 NginxPHPMySQLRedis 容器。 现在,你已经成功配置了 PHP 环境、NginxMySQLRedis。你可以将你的 PHP 项目文件放在 `public` 文件夹中,然后通过访问 `http://localhost` 来访问你的应用程序。请确保修改 `mysql` 服务中的环境变量,设置你自己的 MySQL 根密码、数据库名称、用户名和密码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

付煜晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值