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) hostKEYSTONE_DB_USER
Database username that has access to Keystone databaseKEYSTONE_DB_PASSWORD
Database password for the user that has access to Keystone databaseKEYSTONE_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