Public | Automated Build

Last pushed: 2 years ago
Short Description
An easy way to try openstack keystone service
Full Description

Short Description

Keystone is an OpenStack project that provides Identity, Token, Catalog and Policy services for use specifically by projects in the OpenStack family. This project aim to deploy Keystone service using Docker and can be upgraded easily.

Quick Start

For the impatient, I simplify some boring step using Makefile.

1. Build the image

git clone
cd docker-keystone

2. Start The Keystone Service

make run

You can use make log to track log and make exec to enter instance context using shell.

3. Remove Keytone container

make clean

How to use this image

Openstack Keystone Service uses an SQL database(default sqlite) to store data. The official recommends use MariaDB or MySQL.

docker run -d -e MYSQL_ROOT_PASSWORD=MYSQL_DBPASS -h mysql --name some-mysql -d mariadb

Start your Keystone Service :

docker run --name some-keystone --hostname controller -e ADMIN_PASSWORD=nomoresecret --link some-mysql:mysql -p 5000:5000 -p 35357:35357  -d openstack-keystone

The following environment variables should be change according to your practice.

  • -e MYSQL\_ROOT\_PASSWORD=...: Defaults to the value of the MYSQL\_ROOT\_PASSWORD environment variable from the linked mysql container.
  • -e MYSQL\_HOST=...: If you use an external database, specify the address of the database. Defautls to "mysql".

It may takes seconds to do some initial work, you can use docker logs to detect the progress. Once the Openstck Keystone Service is started, you can verify operation of the Identity service as follows:

docker exec -t -i keystone bash
cd /root
source openrc
openstack user list

Environment Variables

Before you create a Keystone Service, you can adjust the additional configuration of the Openstack Keystone Service by passing one or more environment variables on the docker run command line.

  • ADMIN\_TOKEN: defaults to "ADMIN_TOKEN"
  • -e ADMIN\_TENANT\_NAME=...: Defaults to "admin".
  • -e ADMIN\_USER\_NAME=...: Defaults to "admin".
  • -e ADMIN\_PASSWORD=...: Defaults to "ADMIN_PASS".
  • -e ADMIN\_EMAIL=...: Defaults to "".
Docker Pull Command
Source Repository