git clone https://github.com/laradock/laradock.git
下载Laradock文件,运用在多项目的场景里。
修改.env项目目录
APP_CODE_PATH_HOST=../
修改源路径
WORKSPACE_COMPOSER_REPO_PACKAGIST=https://mirrors.aliyun.com/composer/
WORKSPACE_NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
WORKSPACE_NPM_REGISTRY=https://registry.npmmirror.com
开始安装
docker-compose up -d nginx mysql phpmyadmin redis workspace
安装 redis出错,pecl走不通,需要修改redis安装的脚本通过编译安装
安装redis出错编辑php-fpm/Dockerfile,替换redis安装脚本
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
# Install Php Redis Extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
curl -L -o /tmp/reids.tar.gz "https://codeload.github.com/phpredis/phpredis/tar.gz/4.3.0"; \
else \
curl -L -o /tmp/reids.tar.gz "https://codeload.github.com/phpredis/phpredis/tar.gz/5.0.2"; \
fi \
&& cd /tmp \
&& tar -xzf reids.tar.gz \
&& docker-php-source extract \
&& mv phpredis-5.0.2 /usr/src/php/ext/phpredis \
&& ls -l /usr/src/php/ext | grep redis \
&& docker-php-ext-install phpredis \
&& php -m | grep redis \
&& rm -rf /tmp/reids.tar.gz \
;fi
安装 ast 出错,pecl走不通。
AST 公开了 PHP 7+ 生成的抽象语法树。PHP 的静态分析器等工具需要此扩展。
AST安装失败修改workspace/Dockerfile文件
无法连接 raw.githubusercontent.com通过IPAddress.com首页,输入raw.githubusercontent.com查询到真实IP地址后修改etc/hosts文件,加入以下代码
imagick php扩展安装失败199.232.68.133 raw.githubusercontent.com
对于pecl 安装的软件,可以修改Dockfile文件,使用具体到版本号的安装文件
修改php-fpm/Dockfile
else \
# pecl install http://pecl.php.net/get/imagick; \
curl -L -o /tmp/imagick.tar.gz "https://pecl.php.net/get/imagick-3.7.0.tgz" \
&& chmod +x /tmp/imagick.tar.gz \
&& cd /tmp \
&& tar -xzf imagick.tar.gz \
&& docker-php-source extract \
&& mv imagick-3.4.3 /usr/src/php/ext/imagick \
&& ls -l /usr/src/php/ext | grep imagick \
&& docker-php-ext-install imagick \
&& php -m | grep imagick \
&& rm -rf /tmp/imagick.tar.gz \
; fi && \
重新启动后,报3306和80端口被占用,无法启用。需要在任务管理器中把mysqld相关的进程结束掉。
netstat -aon|findstr "80"
报80端口被system(PID=4)占用,无法启用。需要关闭windows10的http服务。
通过下面的命令结束进程
net stop http
最后再跑一启用命令,一次成功
docker-compose up -d nginx mysql phpmyadmin redis workspace
网友评论