Docker
This is a page all about Docker and helpful commands.
Docker File
ARG These are arguments that can be used in side the docker file.
ARG BASE_DIR=/opt/app ... COPY ./file.txt $BASE_DIR
Port To expose port to docker to be exposed, lol kind of redundant.
EXPOSE 4000
Docker Images
List This will show a list of all docker images.
docker images
Remove This will remove an image from the list.
docker rmi {imagename}:{tag}
You might need to force it.
docker rmi -f {imagename}:{tag}
Run The big difference between run and start. Run will create a container and then start it. Where start just starts up a container.
This is how you run an image
docker run -it {imagename}:{tag}
Add environment variables to the container.
docker run -it -e USERNAME='jdoe' {imagename}:{tag}
To open the ports. Make sure you do this and have the ports exposed in your Dockerfile.
docker run -p 8080:8080 -it {imagename}:{tag}
To run the image in a detacted container for it run in the background.
docker run -d -it {imagename}:{tag}
To run an image and go right into bash for the starting point.
docker run -it --entrypoint "/bin/bash" {imagename}:{tag}
To get into bash for a container.
docker exec -it <container id> /bin/bash
To see a list of running containers
docker ps
To see a list of containers running or stopped
docker ps -a
Docker Build Image
When you have a Dockerfile you want to build use the following command.
docker build -t myimage .
Docker QuickStart Terminal
When using the QuickStart terminal, it creates a virtual machine to run docker in.
To get to this machine.
docker-machine ssh default
A directory with persistent storage each time the machine starts up.
/var/lib/boot2docker/
To create a startup scrip when the machine starts up. Create this file /var/lib/boot2docker/bootlocal.sh with execution permissions.
Tip: To sudo when in the machine
sudo -s
I had an issue with an invalid ssl cert. To fix the issue you must have the docker-machine load a file called daemon.json and inside the file you add untrusted URL sources.
1. Log in to the docker-machine
docker-machine ssh default
sudo -s
3. Change directories to the persistent storage directory.
cd /var/lib/boot2docker/
4. Create the daemon.json file.
{ "insecure-registries" : ["myregistrydomain.com:5000"] }
5. Create a boot script for the docker machine
touch /var/lib/boot2docker/bootlocal.sh && chmod +x /var/lib/boot2docker/bootlocal.sh
6. Edit the file and copy the daemon.json file to the correct location.
#!/bin/sh cp /var/lib/boot2docker/daemon.json /etc/docker/daemon.json
7. Exit the docker-machine
8. Restart the docker machine
docker-machine restart