Difference between revisions of "Docker"

From John Freier
Jump to: navigation, search
Line 41: Line 41:
 
To get into bash for a container.
 
To get into bash for a container.
 
   docker exec -it <container id> /bin/bash
 
   docker exec -it <container id> /bin/bash
 +
 +
== 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

Revision as of 11:53, 12 September 2019

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 This is how you run an image

 docker run -it {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

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