Skip to content

Instantly share code, notes, and snippets.

@jgwerner
Last active February 1, 2017 17:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jgwerner/57f118791d23aee1aa939a0d3765e59e to your computer and use it in GitHub Desktop.
Save jgwerner/57f118791d23aee1aa939a0d3765e59e to your computer and use it in GitHub Desktop.
Useful docker commands

Maintenance and troubleshooting commands

Installing Docker

Docker install script is probably the best way to install docker with Ubuntu, as it's the official bash script maintained by Docker and is updated with latest features:

$ curl -sSL https://get.docker.com | sh

Uninstalling Docker

Basic uninstall:

$ sudo apt-get remove docker-engine
$ sudo apt-get remove docker*

Uninstall docker and its dependencies:

$ sudo apt-get remove --auto-remove docker-engine
$ sudo apt-get remove docker* 

Purging your docker config/data only

$ sudo apt-get purge docker-engine
$ sudo apt-get purge docker*

Purging your docker config/data with dependencies

$ sudo apt-get purge --auto-remove docker-engine
$ sudo apt-get purge --auto-remove docker*

Be careful when you uninstalling docker by purging. Purged config/data can not be restored by reinstalling the package.

Docker commands

View containers in run state with pretty table:

$ docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Names}}"

Legacy swarm (Docker Swarm)

View swarm nodes from Swarm manager or replica (assuming port 4000 was used to launch swarm manager):

$ docker -H :4000 info

Execute commands (run, info, ps, etc) from external host assuming that port 2375 was used for daemon binding:

$ docker -H {host ip address}:2375 info

Latest swarm (Swarm Mode)

Initialize swarm:

$ docker swarm init

This command returns a join-token for the worker node.

Obtain worker and manager tokens:

$ docker swarm join-token manager
$ docker swarm join-token worker

Remove docker node

Login to worker node EC2 instance:

$ docker swarm leave

Log into manager node EC2 instance:

$ docker swarm node rm {NODE_ID}

Manually add new docker worker node:

Login to EC2 instance that will have worker node role and install docker engine.

Login to worker EC2 instance:

$ docker swarm --token SWMTKN {WORKER_TOKEN} \
    {MANAGER_IP}:2377

Add label to worker node:

Log into manager instance.

Update node and add label:

$ docker node update --label-add {my_key=my_value} {NODE_ID} 

Manually add new docker manager node:

Login to EC2 instance that will have manager node role and install docker engine. Login to manager EC2 instance:

$ docker swarm --token SWMTKN {MANAGER_TOKEN} \
    {MANAGER_IP}:2377

Host (EC2) commands

Resource stats for memory use:

$ egrep --color 'Mem|Cached|Swap' /proc/meminfo

Resource stats for disk use:

$ egrep --color df -h

Check current mounts:

$ lsblk

Check to see if swap is configured:

$ swapon -s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment