Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
I will attempt to expand more on each of these as I learn the different phases of dockerization.

CoreOS Docker Quirks

...

Default Docker IP Address

By default, Docker starts the daemon on a 172.17.X.X IP address. This can cause issues if 172.17.X.X is routable on the network from which you are trying to connect. 

For example, the IllinoisNet WiFi uses a 172.X.X.X network, so the default IP address is routable on IllinoisNet. This results in traffic designated for the docker daemon to be sent over the network (since the network thinks it knows where you are trying to send it. 10.0.1.1/16 is unroutable on that network, so setting the docker daemon's IP to 10.0.1.1/16 allows our machine to properly send traffic to the docker daemon, instead of it being pushed out over the network where docker cannot see it.

To change Docker's default IP address, execute the following command, substituting for the CIDR notation of the new IP. It is imperative that you set this to a non-routable IP according to your source network's configuration. 

echo "[Service]
ExecStart=
ExecStart=/usr/lib/coreos/dockerd daemon --host=fd:// --bip=NEW_CIDR" > /etc/systemd/system/docker.service
sudo systemctl stop docker
sudo systemctl daemon-reload
sudo ip link set docker0 down
sudo brctl delbr docker0
sudo systemctl start docker

Command Completion: Unsupported

Bash completion is not available for CoreOS, making it difficult or impossible to install docker command completion, as described here: https://docs.docker.com/compose/completion/

...

Since the /usr/local/bin/ folder is read-only, and sudo -i did not seem to help, I was able to install docker-compose by using curl to place the executable in my home folder (or any writable folder). Then, executing `export simply add docker-compose to the PATH environment variable and give it permission to execute:

mkdir /home/core/docker-compose
curl -L https://github.com/docker/compose/releases/download/1.5.2/docker-compose-`uname -s`-`uname -m` > /home/core/docker-compose
export PATH=$PATH:

...

/home/core/docker-compose
chmod +x /home/core/docker-compose/docker-compose

Debugging

Building a Container

...