Troubleshooting Docker
上QQ阅读APP看书,第一时间看更新

Installing Docker on CoreOS

CoreOS is a lightweight OS built for the cloud. It comes prepackaged with Docker, which is a few releases behind the latest version. Since it comes prebuilt with Docker there is little troubleshooting required. We just need to make sure that the right version of CoreOS is picked.

CoreOS runs on a variety of platforms, including Vagrant, Amazon EC2, QEMU/KVM, VMware and OpenStack, and custom hardware. CoreOS uses fleet to manage clusters of containers along with etcd (key value data store).

Installation channels of CoreOS

In our case, we will use stable  Release Channels:

First, we will install CoreOS on AWS using the CloudFormation templates. You can find this template at the following link:

 https://s3.amazonaws.com/coreos.com/dist/aws/coreos-stable-pv.template

This template provides the following parameters:

  • Instance type
  • Cluster size
  • Discovery URL
  • Advertised IP address
  • Allow SSH From
  • Keypair

These mentioned parameters can be set in the default template, as follows:

{ 
  "Parameters": { 
    "InstanceType": { 
      "Description": "EC2 PV instance type (m3.medium, etc).", 
      "Type": "String", 
      "Default": "m3.medium", 
      "ConstraintDescription": "Must be a valid EC2 PV instance type." 
    }, 
    "ClusterSize": { 
      "Default": "3", 
      "MinValue": "3", 
      "MaxValue": "12", 
      "Description": "Number of nodes in cluster (3-12).", 
      "Type": "Number" 
    }, 
    "DiscoveryURL": { 
      "Description": "An unique etcd cluster discovery URL. Grab a new token from https://discovery.etcd.io/new?size=<your cluster size>", 
      "Type": "String" 
    }, 
    "AdvertisedIPAddress": { 
      "Description": "Use 'private' if your etcd cluster is within one region or 'public' if it spans regions or cloud providers.", 
      "Default": "private", 
      "AllowedValues": [ 
        "private", 
        "public" 
      ], 
      "Type": "String" 
    }, 
    "AllowSSHFrom": { 
      "Description": "The net block (CIDR) that SSH is available to.", 
      "Default": "0.0.0.0/0", 
      "Type": "String" 
    }, 
    "KeyPair": { 
      "Description": "The name of an EC2 Key Pair to allow SSH access to the instance.", 
      "Type": "String" 
    } 
  } 
} 

The following steps will provide the complete walk-through for CoreOS installation on AWS with help of screenshots:

  1. Select the S3 template to launch:
  2. Specify the Stack name, KeyPair, and cluster 3:

Troubleshooting

Here are some troubleshooting tips and guidelines, which should be followed during the preceding installation:

  • Stack name should not be duplicate
  • ClusterSize cannot be lower than 3 and should be a maximum of 12
  • InstanceType recommended is m3.medium
  • KeyPair should exist; if it doesn't, the cluster will not launch

SSH into the instance and check the Docker version:

core@ip-10-184-155-153 ~ $ docker --version 
Docker version 1.9.1, build 9894698