A Docker image of Linkedin's Ambry data store github fork
"Ambry is a distributed object store that supports storage of trillion of small immutable objects (50K -100K) as well as billions of large objects. It was specifically designed to store and serve media objects in web companies. However, it can be used as a general purpose storage system to store DB backups, search indexes or business reports. The system has the following characterisitics:
Highly available and horizontally scalable Low latency and high throughput Optimized for both small and large objects Cost effective Easy to use Requires JDK 1.7 or higher. "
Detailed documentation is available at Ambry source wiki
git clone [email protected]:amimimor/ambry.git
# assuming gradle is installed
./gradlew clean allJar allDocker
# create storage space for logs and database files on the host machine
mkdir -p /tmp/ambry/tmp
mkdir -p /tmp/ambry/logs
# run the back-end data node server
docker run --rm -it --name ambry-server -v /tmp/ambry/tmp:/opt/ambry/tmp -v /tmp/ambry/logs:/opt/ambry/logs -p 6667:6667 -p 16503:16503 amimimor/ambry:0.1.0 --role=server
# get the data container IP address by its name
DATA_CONTAINER_IP=$(docker ps -q --filter "name=ambry-server" | xargs docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}')
# run the front-end container and pass the data container ip address as an env var
# internally, the container is using Confd to dynamically setup the right configuration before the server is run
docker run --rm -it --name ambry-fe -v /tmp/ambry/tmp:/opt/ambry/tmp -v /tmp/ambry/logs:/opt/ambry/logs -p 1174:1174 -e DATA_CONTAINER_IP=${DATA_CONTAINER_IP} amimimor/ambry:0.1.0 --role=frontend
# health check
curl http://localhost:1174/healthCheck
# test using the demo.gif image found in the github repo (under ambry-docker)
curl -vvv -i -H "x-ambry-blob-size : `wc -c demo.gif | xargs | cut -d" " -f1`" -H "x-ambry-service-id : CUrlUpload" -H "x-ambry-owner-id : `whoami`" -H "x-ambry-content-type : image/gif" -H "x-ambry-um-description : Demonstration Image" http://localhost:1174/ --data-binary @demo.gif
Content type
Image
Digest
Size
141.6 MB
Last updated
almost 10 years ago
docker pull amimimor/ambry