使用laradock搭建php環(huán)境

自行安裝docker和git

安裝laradock

git clone https://github.com/laradock/laradock.git
cp .env.example .env

重點(diǎn)修改.env,因?yàn)椴豢煽沽?,如果能解封可以不修?/p>

CHANGE_SOURCE=true #這里
WORKSPACE_TIMEZONE=PRC
WORKSPACE_NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

注:APP_CODE_PATH_HOST是你應(yīng)用程序的目錄,APP_CODE_PATH_CONTAINER是你容器映射的目錄

以下如果能安裝成功可以不修改,有時(shí)會(huì)安裝不了需要修改。

WORKSPACE_BASE_IMAGE_TAG_PREFIX=latest
WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
WORKSPACE_COMPOSER_AUTH=false
WORKSPACE_COMPOSER_REPO_PACKAGIST=
WORKSPACE_NVM_NODEJS_ORG_MIRROR=
WORKSPACE_INSTALL_NODE=false #這里
WORKSPACE_NODE_VERSION=node #這里
WORKSPACE_NPM_REGISTRY=
WORKSPACE_INSTALL_YARN=false #這里
WORKSPACE_YARN_VERSION=latest 
WORKSPACE_INSTALL_NPM_GULP=false #這里
WORKSPACE_INSTALL_NPM_BOWER=false #這里
WORKSPACE_INSTALL_NPM_VUE_CLI=false #這里
WORKSPACE_INSTALL_NPM_ANGULAR_CLI=false #這里

啟動(dòng)

docker-compose up -d redis mysql nginx
我這里返回報(bào)錯(cuò)信息,沒(méi)有報(bào)錯(cuò)的可以不看這里:
=> ERROR [internal] load metadata for docker.io/library/mysql:latest

因?yàn)槲业氖荕ac M1,所以在 docker-compose.yml 添加參數(shù)
vim docker-compose.yml
搜索MySQL位置,/MySQL,MySQL尾部加上:platform: linux/x86_64

Failed to connect to raw.githubusercontent.com port 443: Connection refused
ERROR: Service 'workspace' failed to build : Build failed,
通過(guò)https://ipaddress.com/website/raw.githubusercontent.com,
查詢 raw.githubusercontent.com 的真實(shí) IP, 然后手工添加到 /etc/hosts, 比如 185.199.108.133 raw.githubusercontent.com

sudo vim  /etc/hosts
加上:185.199.108.133 raw.githubusercontent.com

Service 'php-fpm' failed to build : Build failed 
跟workspace報(bào)錯(cuò)一樣,已經(jīng)配置過(guò)了,需要多試幾次,網(wǎng)絡(luò)可能有問(wèn)題

你的項(xiàng)目和laradock位于同級(jí)目錄

laradock
project-1
project-2

配置nginx即可開始訪問(wèn)

docker-compose exec workspace bash

配置composer

# 查看composer配置的鏡像
 composer config -g repositories.packagist.org
# 修改composer鏡像(全局配置(推薦))
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

創(chuàng)建laravel應(yīng)用

composer create-project --prefer-dist laravel/laravel blog "6.*"

官方文檔:https://laradock.io/
一篇不錯(cuò)的文檔:http://www.itdecent.cn/p/6d79370d8b6e

kafka

Install RDKAFKA extension in php-fpm

1 - Open the .env file
2 - Search for the PHP_FPM_INSTALL_RDKAFKA argument under the PHP-FPM container
3 - Set it to true
4 - Re-build the container docker-compose build php-fpm

Install RDKAFKA extension in workspace

This is needed for ‘composer install’ if your dependencies require Kafka.

1 - Open the .env file
2 - Search for the WORKSPACE_INSTALL_RDKAFKA argument under the WORKSPACE container
3 - Set it to true
4 - Re-build the container docker-compose build workspace

修改docker-compose.yml中kafka部分

### kafka ####################################################
    kafka:
      image: wurstmeister/kafka
      ports:
        - "9092:9092"
      environment:
        KAFKA_BROKER_ID: 1
        KAFKA_ADVERTISED_HOST_NAME: kafka #修改
        KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092 #修改
        KAFKA_MESSAGE_MAX_BYTES: 2000000
        KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      volumes:
        - ${DATA_PATH_HOST}/kafka:/kafka
        - /var/run/docker.sock:/var/run/docker.sock
      depends_on:  #添加
        - zookeeper #添加
      networks:
        - backend

### kafka-manager ###########################################
    kafka-manager:
      image: sheepkiller/kafka-manager
      ports:
        - 9020:9000
      environment:
        ZK_HOSTS: zookeeper:2181
      depends_on:
        - kafka
      networks:
        - backend

配合phpstorm適應(yīng)xdebug調(diào)試

https://learnku.com/articles/36800

注意這一步validate前要在laradock/php-fpm下對(duì)應(yīng)的php.ini添加xdebug.mode=debug

image.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容