使用docker-compose启动redis-server

问题描述

我使用pipenv启动我的应用程序服务器,并希望在容器旋转时启动redis-server。

现在,我必须启动一个容器,然后进入容器并运行redis-server以启动Redis。我想从docker-compose up开始。

有没有办法做到这一点?

我有一个如下所示的docker-composer文件

version: '3'

services:
  api:
    # docker run -d -p 8000:8000 data-tracker-backend pipenv run start 
    build: ./api
    command: pipenv run start
    image : data-tracker-backend
    volumes:
      - ./api:/api
    expose:
      - "8000"

谢谢

解决方法

您可以为redis创建另一个服务,并使第一个服务(即api)依赖于redis服务。 将您的docker-compose.yml更改为类似

version: '3'

services:
  api:
    build: ./api
    command: pipenv run start
    image : data-tracker-backend
    volumes:
      - ./api:/api
    expose:
      - "8000"
    depends_on:
      - redis-server

  redis-server:
    image: "redis:alpine"
    command: redis-server
    ports:
      - "6379:6379"