Dockerfiles, Images and Containers
Dockerfile is a file containing a set of instructions to build an Image which can be used to start a Docker container.
Dockerfile = Makefile
Image == binary
Container == running process
Example of a Dockerfile:
COPY . /app
RUN npm install
CMD ["node", "server.js"]
docker build . inside a directory containing this Dockerfile will build the image.
EXPOSE 80 line is just for documentation purposes. To actually expose and bind to a port
docker run -p 3333:80 IMAGE.
COPY . . copies from local directory into the image
RUN npm install runs during image building,
CMD ["node", "server.js"] runs when the container is started.
docker build . Build an image from a Dockerfile located in working directory
docker run IMAGE Run a built image
docker ps Show running containers
docker ps -a Show all containers (default shows just running)
docker run -p 3000:80 IMAGE Run a container and bind to local 3000 exposed container 80