Skip to content

Instantly share code, notes, and snippets.

@jgwerner
Last active February 1, 2017 17:51

Revisions

  1. jgwerner revised this gist Feb 1, 2017. 1 changed file with 14 additions and 12 deletions.
    26 changes: 14 additions & 12 deletions useful-docker-commands.md
    Original file line number Diff line number Diff line change
    @@ -59,35 +59,37 @@ Obtain worker and manager tokens:
    $ docker swarm join-token manager
    $ docker swarm join-token worker

    Remove docker node:
    **Remove docker node**

    1. Login to worker node EC2 instance:
    Login to worker node EC2 instance:

    $ docker swarm leave

    2. Log into manager node EC2 instance:
    Log into manager node EC2 instance:

    $ docker swarm node rm {NODE_ID}

    Manually add new docker worker node:
    **Manually add new docker worker node**:

    1. Login to EC2 instance that will have worker node role and install docker engine.
    2. Login to worker EC2 instance:
    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:
    **Add label to worker node**:

    Log into manager instance.

    1. Log into manager instance.
    2. Update node and add labe:
    Update node and add label:

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

    Manually add new docker manager node:
    **Manually add new docker manager node**:

    1. Login to EC2 instance that will have manager node role and install docker engine.
    2. Login to manager EC2 instance:
    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
  2. jgwerner created this gist Feb 1, 2017.
    111 changes: 111 additions & 0 deletions useful-docker-commands.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,111 @@
    # 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:

    1. Login to worker node EC2 instance:

    $ docker swarm leave

    2. Log into manager node EC2 instance:

    $ docker swarm node rm {NODE_ID}

    Manually add new docker worker node:

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

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

    Add label to worker node:

    1. Log into manager instance.
    2. Update node and add labe:

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

    Manually add new docker manager node:

    1. Login to EC2 instance that will have manager node role and install docker engine.
    2. 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