Alpine Linux 是一个面向安全,轻量级的基于musl libc与busybox项目的Linux发行版.
1、下载镜像
docker pull nginx:alpine
docker pull nginx
docker pull php:7.2.34-fpm-alpine
docker pull php:7.2.34-fpm
docker pull mysql:5.7
docker pull redis
docker pull redis:alpine
docker images
REPOSITORY TAG IMAGE ID CREATED SIZEredis latest ddcca4b8a6f0 8 days ago 105MBnginx latest dd34e67e3371 8 days ago 133MBmysql 5.7 6c20ffa54f86 8 days ago 448MBnginx alpine 7ce0143dee37 2 weeks ago 22.8MBredis alpine 814803e951a7 2 weeks ago 32.3MBphp 7.2.34-fpm-alpine a63e75145178 8 months ago 74.2MBphp 7.2.34-fpm 28f52b60203d 8 months ago 398MB
启动MySQL
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 —name dnmp_mysql-v F:/Git_Code/docker/lnmp/mysql/data:/var/lib/mysql -v F:/Git_Code/docker/lnmp/mysql/conf.d:/etc/mysql/conf.d mysql:5.7
启动php-fpm
docker run -d -v ~/dnmp/www:/www —name dnmp_phpfpm php:7.2.34-fpm
docker run -d -v F:/Git_Code/docker/lnmp/www:/www —name dnmp_phpfpm php:7.2.34-fpm
启动Nginx
docker run -d -p 80:80 —name dnmp_nginx -v ~/dnmp/www:/var/www/html -v ~/dnmp/nginx/conf.d:/etc/nginx/conf.d -v ~/dnmp/nginx/logs:/var/log/nginx —link dnmp_phpfpm:php —name dnmp_nginx nginx:alpine
docker run -d -p 80:80 —name dnmp_nginx -v F:/Git_Code/docker/lnmp/www:/var/www/html -v F:/Git_Code/docker/lnmp/nginx/conf.d:/etc/nginx/conf.d -v F:/Git_Code/docker/lnmp/nginx/logs:/var/log/nginx —link mphpfpm:php —name mnginx nginx
启动redis
docker run -itd —name dnmp_redis -p 6379:6379 redis
nginx 配置
server {listen 80;server_name localhost;location / {root /var/www/html;index index.html index.htm index.php;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /var/www/html;}location ~ \.php$ {fastcgi_pass php:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;include fastcgi_params;}}
配置php 模块
docker-php-ext-install mysqli
初始化源码目录
docker-php-source extract运行上面命令后,会在/usr/src目录下生成一个php源码目录安装完成后运行删除源码目录docker-php-source delete
安装redis
下载redis扩展源码curl -L -o redis4.3.0.tgz https://pecl.php.net/get/redis-4.3.0.tgz解压源码tar xvf redis4.3.0.tgz移动源码到php-ext目录下mv redis-4.3.0 /usr/src/php/ext/redis安装phpredis目录中的扩展docker-php-ext-install redis重启php-fpm容器docker restart安装扩展默认php镜像中提供的扩展比较少,缺少诸如mysql、gd2等常用的扩展,这样我们就需要自己安装并启用扩展。首先进入到php容器,用php -m命令查看本地有什么扩展。可以使用docker-php-ext-install命令来安装扩展。$ docker-php-ext-install mysql扩展安装好之后就可以在php.ini中启用。我们从phpinfo中可以看到,容器环境下默认的php.ini没有启用,可以从/usr/local/etc/php下将php.ini-development拷贝为php.ini。通过修改php.ini中配置,启用自己需要的扩展。下面是几个扩展安装的命令,供大家参考。docker-php-ext-source 在容器中创建一个/usr/src/php目录docker-php-ext-enable启用PHP扩展,省去我们手工编辑php.ini的过程docker-php-ext-install安装并启用PHP扩展docker-php-ext-configure经常与docker-php-ext-install搭配,在需要自定义扩展的配置时使用
安装 gd扩展
#容器中sed -i "s@http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list && rm -rf /var/lib/apt/lists/* && cat /etc/apt/sources.list #软件源修改为网易镜像站源apt update #更新软件源apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev #安装各种库docker-php-source extract #解压源码cd /usr/src/php/ext/gd #gd源码文件夹docker-php-ext-configure gd --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2 #准备编译docker-php-ext-install gd #编译安装php -m | grep gd
Ubuntu更新软件源
#打开sources.list文件,在文件末尾增加如下软件源地址vi /etc/apt/sources.list#添加阿里源deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse#3. 更新系统软件源apt-get updateapt-get upgrade
