一:装置 docker 和 docker-compose
具体装置形式自行查阅材料装置,这里就不赘述了
二:下载 mysql-nginx-php 镜像并装置一些根底软件及拓展
1: 下载 mysql 镜像
docker pull mysql:5.7
2:下载 nginx 镜像
docker pull nginx:1.21.6
3:下载 php 镜像
docker pull php:7.2-fpm
4:给 php 根底镜像装置拓展及根底软件
docker run -it --name php php:7.2-fpm /bin/bash
应用 docker run 运行镜像并进入镜像而后执行如下操作
#apt-get 更新
apt-get update
#根底依赖装置
apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng-dev
#装置 wget
apt-get install wget
#装置定时器 crontab
apt-get install cron
#装置 supervisor 过程治理
apt-get install supervisor
#装置 php 拓展
cd ~
wget https://raw.githubusercontent.com/mlocati/docker-php-extension-installer/master/install-php-extensions
mv install-php-extensions /usr/local/bin
chmod uga+x /usr/local/bin/install-php-extensions && sync
install-php-extensions 拓展名 (bcmath,decimal,exif,gd,imagick,intl,memcached,mongodb,pcntl,pdo_mysql,pdo_pgsql,soap,swoole,zip)
#减少一个 www 用户
adduser www
5:将解决好的容器保留为一个镜像
docker commit php php:7.2(将 php 容器保留为 php:7.2 镜像)
我这里曾经解决好镜像已上传到我的 docker 仓库中,后续应用时间接拉取我本人仓库中的镜像即可
三:应用 docker-compose 基于 nginx-mysql-php 镜像配置 php 环境
1:具体的 docker-compose 文件内容可参考:
docker-compose 配置
2:应用 docker-compose 命令运行容器
docker-compose build --force-rm(构建容器并删除构建过程中创立的长期容器)docker-compose up -d(在后盾运行容器)docker-compose start(启动容器)docker-compose stop(进行正在事后的容器)docker-compose down(删除容器)