/docker-keystone

OpenStack Keystone Service

Primary LanguageShellMIT LicenseMIT

OpenStack (Pike) Keystone

This provides an OpenStack (Pike) Keystone docker container

Build

docker build -t obedmr/keystone .

Or just pull it from Dockerhub

docker pull obedmr/keystone

Start MariaDB container

docker run --name mariadb -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_DATABASE=keystone -e MYSQL_USER=keystone -e MYSQL_PASSWORD=secret -d mariadb

Start Keystone container

docker run -d -p 5000:5000 -p 35357:35357 --link mariadb:mariadb -e DATABASE_HOST=mariadb -e KEYSTONE_DB_USER=keystone -e KEYSTONE_DB_PASSWORD=secret -e KEYSTONE_DB_NAME=keystone --name keystone obedmr/keystone

Login into Keystone container

docker exec -it  keystone bash
# Inside the container
root@26bd2b8a8a60 /root # source openrc
openstack user list
+----------------------------------+-------+
| ID                               | Name  |
+----------------------------------+-------+
| 24620586335a473fb56fc2be2f6bfb53 | admin |
+----------------------------------+-------+

Environment Variables

  • DATABASE_HOST Database (MariaDB) host
  • KEYSTONE_DB_USER Database username that has access to Keystone database
  • KEYSTONE_DB_PASSWORD Database password for the user that has access to Keystone database
  • KEYSTONE_DB_NAME Keystone database name

Post-deploy commands support

Once keystone container is up and running you can trigger custom scripts. You just need to add the following volume line in the Start Keystone container section

-v <path>/custom-post-keystone-script.sh:/usr/bin/post-keystone.sh

Extra Build ARGs

Default build args in Docker are on: https://docs.docker.com/engine/reference/builder/#/arg