Mac M1 安装Docker
1、Docker下载
docker官网下载m1版本:https://docs.docker.com/docker-for-mac/apple-silicon/点击Download下载.dmg文件。
2、Docker安装
双击下载的Docker.dmg文件开始安装,拖动Docker到Applications等待安装完成。
3、Docker启动
在启动台找到Docker软件图标点击启动,稍等片刻启动成功,屏幕右上角菜单栏显示了一个鲸鱼图标,点击可看到Docker运行状态。
4、增加国内镜像链接
"registry-mirrors": [
"https://xxxxxx.mirror.aliyuncs.com",
"http://hub-mirror.c.163.com"
],
Docker 安装 Nginx
$ docker pull nginx:latest
Docker 安装 PHP
$ docker pull php:7.4.25-fpm
docker配置PHP开发环境(m1mac+nginx+php)
1、创建目录
mkdir -p /Users/用户名/docker/nginx/conf.d && mkdir /Users/用户名/WWW && cd /Users/用户名/docker/nginx/conf.d && sudo touch default.conf
2、启动php-fpm
docker run --name php -d \
-v /Users/用户名/WWW:/var/www/html \
php:7.4.25-fpm
3、编辑 nginx 配置文件
配置文件位置:
/Users/用户名/docker/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
location / {
index index.php index.html;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
}
# 绑定域名
server {
listen 80;
server_name www.tp.com;
root /usr/share/nginx/html/tp.com/public;
location / {
index index.php index.html;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/tp.com/public/$fastcgi_script_name;
include fastcgi_params;
}
}
4、启动 nginx:
docker run --name nginx -p 80:80 -d \
-v /Users/用户名/WWW:/usr/share/nginx/html \
-v /Users/用户名/docker/nginx/conf.d:/etc/nginx/conf.d \
--link php:php \
nginx
在本地 /Users/用户名/www 下放两个文件:index.php
<?php phpinfo(); ?>
Docker为PHP安装gd扩展
//进入PHP容器
docker exec -it php /bin/bash
//更新软件源
apt update
//安装各种库
apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev
//解压源码
docker-php-source extract
//进入gd源码文件夹
cd /usr/src/php/ext/gd
//准备编译
docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2
//编译安装
docker-php-ext-install gd
//查看是否成功安装gd扩展
php -m | grep gd
//重启容器
php容器支持imagettftext函数
//进入PHP容器
docker exec -it php /bin/bash
//准备编译
docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp
重新编译:
docker-php-ext-install gd
安装完成后重启php:
docker restart php;
php容器安装unzip扩展*
//进入PHP容器
docker exec -it php /bin/bash
#先安装zip需要的依赖
apt-get install -y zlib1g-dev && apt-get install -y libzip-dev && apt-get install -y unzip
#安装并启动zip扩展
docker-php-ext-install zip
php容器安装pdo_mysql扩展
//进入PHP容器
docker exec -it php /bin/bash
//安装pdo_mysql扩展
docker-php-ext-install pdo pdo_mysql
php容器安装PHP-bcmath扩展
//进入PHP容器
docker exec -it php /bin/bash
//安装PHP-bcmath扩展
docker-php-ext-install bcmath
php容器安装xdebug扩展
//进入PHP容器
docker exec -it php /bin/bash
# 下载安装xdebug扩展
pecl install xdebug
# 添加到配置文件
docker-php-ext-enable xdebug
php容器安装Redis扩展
//进入PHP容器
docker exec -it php /bin/bash
# 依次执行下列命令
curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz
tar xfz /tmp/redis.tar.gz
rm -r /tmp/redis.tar.gz
mkdir -p /usr/src/php/ext
mv phpredis-3.1.3 /usr/src/php/ext/redis
docker-php-ext-install redis
Docker安装Compoer
//进入PHP容器
docker exec -it php /bin/bash
下载安装脚本 - composer-setup.php - 到当前目录。
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
执行安装过程。
php composer-setup.php
删除安装脚本。
php -r "unlink('composer-setup.php');"
打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:
mv composer.phar /usr/local/bin/composer
最后。
composer --version查看是否安装好
Docker部署Redis
# 查看有那些镜像可用
docker search redis
# 拉取redis镜像
docker pull redis:latest
# 查看本地镜像
docker images
# 创建目录
mkdir -p /Users/jarmin/docker/redis/conf
# 创建文件
touch /Users/jarmin/docker/redis/conf/redis.conf
# Docker 创建 Redis 容器命令
docker run -itd --name redis -p 6379:6379 \
--restart=always \
-v /Users/jarmin/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /Users/jarmin/docker/redis/data:/data \
redis redis-server /etc/redis/redis.conf
Docker安装git
//进入PHP容器
docker exec -it php /bin/bash
apt-get update && \
apt-get upgrade -y && \
apt-get install -y git