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

安装docker的容器 命令:

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

docker search [要查询的程序]

docker容器安装,nginx+php+mysql+redis安装,以及docker容器安装时遇到的各种问题记录_第1张图片

##### 安装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();

docker容器安装,nginx+php+mysql+redis安装,以及docker容器安装时遇到的各种问题记录_第2张图片

你可能感兴趣的:(docker学习,docker,容器,运维,后端,php)