Quick Start on Docker

Quick Start instructions to install and configure Istio networking in a Docker Compose setup.

Prerequisites

Installation steps

  1. Go to the Istio release page to download the installation file corresponding to your OS. If you are using a macOS or Linux system, you can also run the following command to download and extract the latest release automatically:

    $ curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.3.0 sh -
    
  2. Extract the installation file and change the directory to the file location. The installation directory contains:

    • Sample applications in samples/
    • The istioctl client binary in the bin/ directory. istioctl is used for some debug and diagnostics tasks.
    • The istio.VERSION configuration file
  3. Add the istioctl client to your PATH. For example, run the following command on a macOS or Linux system:

    $ export PATH=$PWD/bin:$PATH
    
  4. Install kubectl using these instructions.

kubectl is used to create, read, modify, and delete Istio API resources.

  1. For Linux users, configure the DOCKER_GATEWAY environment variable

    $ export DOCKER_GATEWAY=172.28.0.1:
    
  2. Change directory to the root of the Istio installation directory.

  3. Bring up the Istio networking control plane containers:

    $ docker-compose -f install/consul/istio.yaml up -d
    
  4. Confirm that all Docker containers are running:

    $ docker ps -a
    
  5. Configure kubectl to use mapped local port for the API server:

    $ kubectl config set-context istio --cluster=istio
    $ kubectl config set-cluster istio --server=http://localhost:8080
    $ kubectl config use-context istio
    

Deploy your application

You can now deploy your own application or one of the sample applications provided with the installation likeBookinfo.

$ docker-compose -f <your-app-spec>.yaml up -d

Uninstalling

Uninstall Istio core components by removing the Docker containers:

$ docker-compose -f install/consul/istio.yaml down