Skip to content

Latest commit

 

History

History
 
 

dockerfiles

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Obscuro enclave service Docker image

The Docker image defined by enclave.Dockerfile creates a Docker image for an Obscuro enclave service running in SGX. To build the image, run:

docker build -t enclave -f dockerfiles/enclave.Dockerfile .

This is a required step before running the Docker integration tests.

To run the image as a container, where XXX is the port on which to expose the enclave service's RPC endpoints on the local machine, and YYY is the address of the node that this enclave service is for as an integer:

docker run -p XXX:11000/tcp enclave --hostID YYY --address :11000

By default, the image runs the Obscuro enclave service in SGX simulation mode. To run the enclave service in non-simulation mode instead, run:

docker run -e OE_SIMULATION=0 --privileged -v /dev/sgx:/dev/sgx -p XXX:11000/tcp enclave --hostID YYY --address :11000 --willAttest=true

Stop and remove all Obscuro docker containers:

docker rm $(docker stop $(docker ps -a -q --filter ancestor=enclave --format="{{.ID}}"))

Data directory

The ego docker images setup a home directory in /home/obscuro/ and within that go-obscuro/ contains the code while data/ is used for persistence by the enclave.

That /home/obscuro/data directory is mounted inside the enclave as /data, any files written to it by the enclave process should be sealed using the private enclave key, so it will be unreadable to anyone that accesses the container.