Quick Start on Docker
Quick Start instructions to install and configure Istio in a Docker Compose setup.
Prerequisites
Installation steps
- 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 | sh -
- 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 thebin/
directory.istioctl
is used for creating routing rules and policies. - The
istio.VERSION
configuration file
- Sample applications in
Add 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 variableexport 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
Deploy your application
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
Uninstalling
- Uninstall Istio core components by removing the docker containers:
docker-compose -f install/consul/istio.yaml down
What’s next
- See the sample BookInfo application.