What’s the difference between Docker Compose vs. Dockerfile [closed]
IT Nursery
May 1, 2022
0
I have been reading up and learning about Docker, and am trying to correctly choose the Django setup to use. So far there is either:
Docker Compose or Dockerfile
I understand that Dockerfiles are used in Docker Compose, but I am not sure if it is good practice to put everything in one large Dockerfile with multiple FROM commands for the different images?
I want to use several different images that include:
uwsgi
nginx
postgres
redis
rabbitmq
celery with cron
Please advise on what are best practices in setting up this type of environment using Docker.
If it helps, I am on a Mac, so using boot2docker.
Some Issues I’ve had:
Docker Compose is not compatible with Python3
I want to containerize my project, so if one large Dockerfile
is not ideal, then I feel I’d need to break it up using Docker Compose
I am ok to make the project Py2 & Py3 compatible, so am leaning towards django-compose
1Best Answer 11
Dockerfile
A Dockerfile is a simple text file that contains the commands a user could call to assemble an image.
Example, Dockerfile
FROM ubuntu:latest
MAINTAINER john doe
RUN apt-get update
RUN apt-get install -y python python-pip wget
RUN pip install Flask
ADD hello.py /home/hello.py
WORKDIR /home
Docker Compose
Docker Compose
is a tool for defining and running multi-container Docker applications.
define the services that make up your app in docker-compose.yml so they can be run together in an isolated environment.
get an app running in one command by just running docker-compose up