微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Using dockerize to wait for service completed (CI/CD)

I have a postgresql, and a redis server.

my django application needs to wait for them all completed to run.

BTW, postgresql, redis, django all run in Docker containers . Here 3 containers .

so, use dockerize in my main django Dockerfile

 

# install dockerize
RUN apt-get update && apt-get install -y wget
ENV DOCKERIZE_VERSION v0.6.1
RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
    && tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
    && rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz

in my docker-compose.yml

  web:
    build: .
    # wait for postgresql, redis server up using dockerize
    command: 
            dockerize -wait tcp://redis-cache:6379 -timeout 30s \
            dockerize -wait tcp://db:5432 -timeout 30s \
            python3 manage.py runserver 0.0.0.0:8000

 

tcp://redis-cache:6379 // my redis server
tcp://db:5432 // my postgresql database server
 

after all tcp ports okay, run the commands

python3 manage.py runserver 0.0.0.0:8000

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐