我的DDEV容器中可以有Redis吗?

时间:2018-07-23 10:35:42

标签: redis typo3 ddev

我将DDEV用作TYPO3项目的开发环境。我希望有Redis服务器可用(用于缓存)。 我该如何实现?

2 个答案:

答案 0 :(得分:4)

要使Redis可用于TYPO3,您需要:

  1. Redis服务器

    要为您的项目创建Redis服务器,只需创建一个文件 .ddev/docker-compose.redis.yaml及以下 内容:

    # ddev redis recipe file
    #
    version: '3.6'
    
    services:
      redis:
        container_name: ddev-${DDEV_SITENAME}-redis
        image: redis:4
        restart: always
        ports:
          - 6379
        labels:         
          com.ddev.site-name: ${DDEV_SITENAME}
          com.ddev.approot: $DDEV_APPROOT
          com.ddev.app-url: $DDEV_URL
        environment:
          - VIRTUAL_HOST=$DDEV_HOSTNAME
          - HTTP_EXPOSE=6379
        volumes: []
      web:
        links:
          - redis:$DDEV_HOSTNAME
    
  2. 已安装
  3. php-redis模块(用于DDEV 如果您具有最新的DDEV版本,则可以跳过此步骤。 DDEV docker映像的旧版本(低于v1.1.0)没有php-redis 软件包已安装。因此,我们需要手动添加 post-start钩。该挂钩将在您每次调用时执行

    在您的config.yaml文件中放置以下代码:

    hooks:
      post-start:
        - exec: "sudo apt-get update"
        - exec: "sudo apt-get install php-redis -y"
        - exec: "killall php-fpm"
        - exec: "sudo apt-get install redis-tools -y"
    

    最后一行(带有redis-tools)是可选的。它安装了redis-cli工具,该工具可用于验证您是否可以连接到Redis:

    > ddev-start.
    > ddev restart
    > ddev ssh
    >> redis-cli -h redis
    redis:6379> select 0
    OK
    
  4. 配置您的应用程序以使用Redis

    使用redis作为主机,并使用端口6379

答案 1 :(得分:1)

仅供参考!从8月15日DDEV v1.1.0开始,DDEV将PHP-Redis添加到Web容器中。

https://www.drud.com/ddev-local/ddev-v1-1-0/

  

“更多服务!我们已将PHP-Redis添加到Web容器中。我们反复听到没有Redis是想要使用DDEV的人们的主要障碍。我们希望这会有所帮助!”