有朋友试过Django+Redis+Nginx+Celery吗


我目前是这4个东西都运行在一个Docker容器里面,因为项目是内部使用,访问量也不大。所以运行的也是十分稳定,但是我知道这个不是长久之计,并且我最近看了一些文章,还有在dockone.io社区里,有朋友推荐要每个进程一个容器,所以我就想升级为4个容器互联

但是升级中遇到了一些小问题,Redis和Celery我可以直接用官方的,但是Django和Nginx的话就需要做一些改变,比如
  • 我需要在Django的容器里安装MySQL,把代码映射进去。
  • 我需要在把静态文件映射到Nginx的容器里,把配置文件也映射进去。


可是我就只有一个Dockerfile和一个fig/docker-compose配置文件。无法控制往2个容器里装东西/配置参数,所以请问下大家该如何解决这个问题呢?

---------------------------------------------

N天后补充:
感谢回复的几位朋友
现在我的疑问已经解决
多容器的话
在目录下 建立不同的文件夹,每个文件夹里面放一个dockerfile 就可以了
比如 我建立了4个文件夹 分别是 Django Redis Nginx Celery
每个文件夹里面 都有各自一个dockerfile
然后 docker-compose 里面 ,
用build: ./Nginx 来告诉docker 这个镜像来自 我建立的Nginx目录里面的dockerfile
把他们links下就可以了
我说的有点模糊,因为我也刚接触,希望可以帮到后面其他朋友
已邀请:

Georce - Hadoop集群、云计算平台攻城师

赞同来自: dockerlove123


Nginx映射 你可以先在/opt/nginx/conf /opt/nginx/html里先把自己的配置文件和静态内容放好
然后启动Nginx的时候 使用docker run -v /opt/nginx/conf:/usr/local/nginx/conf参数映射进去 就能正常启动Nginx容器

Mysql你可以使用官方的 -v 把/var/lib/mysql 这个目录映射出来 在docker exec -it mysql bash
进去 mysql_installdb 这样做到 数据库数据持久化

不建议Mysql用容器跑!

Jango的代码映射还是用-v参数 把外面的数据映射进容器内

jiulong - docker python

赞同来自: dockerlove123


用env

要回复问题请先登录注册