Quick Start instructions to install and configure Istio in a Docker Compose setup.
curl -L https://git.io/getLatestIstio | sh -
samples/
istioctl
client binary in the bin/
directory. istioctl
is used for creating routing rules and policies.istio.VERSION
configuration fileAdd the istioctl
client to your PATH. For example, run the following command on a MacOS or Linux system:
export PATH=$PWD/bin:$PATH
For Linux users, configure the DOCKER_GATEWAY
environment variable
export DOCKER_GATEWAY=172.28.0.1:
Change directory to the root of the Istio installation directory.
Bring up the Istio control plane containers:
docker-compose -f install/consul/istio.yaml up -d
Confirm that all docker containers are running:
docker ps -a
If the Istio Pilot container terminates, ensure that you run the
istioctl context-create
command and re-run the command from the previous step.
Configure istioctl
to use mapped local port for the Istio API server:
istioctl context-create --api-server http://localhost:8080
You can now deploy your own application or one of the sample applications provided with the installation like BookInfo.
Note 1: Since there is no concept of pods in a Docker setup, the Istio sidecar runs in the same container as the application. We will use Registrator to automatically register instances of services in the Consul service registry.
Note 2: the application must use HTTP/1.1 or HTTP/2.0 protocol for all its HTTP traffic because HTTP/1.0 is not supported.
docker-compose -f <your-app-spec>.yaml up -d
docker-compose -f install/consul/istio.yaml down