We cover how I built the Nginx image we used in our Docker setup.
Note that the video, as usual, is more comprehensive than these notes!
We use a
Dockerfile to define a base image, and the steps to take to use that base image and create our image from it. We can then use that built image and upload it to a container Registry, such as Docker Hub. Or we can use it locally. Either way, the image can be used to spin up new containers.
Here is the
Dockerfile for our Nginx container:
FROM ubuntu:16.04 MAINTAINER Chris Fidao RUN apt-get update \ && apt-get install -y nginx \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \ && echo "daemon off;" >> /etc/nginx/nginx.conf ADD default /etc/nginx/sites-available/default EXPOSE 80 CMD ["nginx"]
Build and Push
To build this image, we run the following from the same directory that the
Dockerfile resides in. This will the image once, and create (or overwrite!) two new tags:
latesttag (by convention, points to the latest build, and is the default tag Docker will look for)
1.0tag (any other arbitrary tag you'd like to use)
Here's the command to build an image and apply two tags to that build:
docker build -t shippingdocker/nginx:1.0 -t shippingdocker/nginx:latest
To push it to Docker Hub, we can login to our account (made previously) and push our images up to it:
# Log into Docker Hub from our CLI client docker login # Push up each tagged image docker push shippingdocker/nginx:1.0 docker push shippingdocker/nginx:latest