mirror of
https://github.com/clearlinux/graphene.git
synced 2026-09-05 13:21:37 +00:00
The dockerfile instruction RUN will create new layers when it is executed, original codes will increase the size of the final image and causes potential cache issues. So we need to employ shell tricks to keep the layers as small as possible. The detail: https://docs.docker.com/v17.09/engine/userguide/eng-image/dockerfile_best-practices Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Graphene-SGX Secure Container -------------------------------- Graphene-SGX Secure Container (GSC) is a container system where the containerized application can be protected by Graphene-SGX while it is running in a container environment. The GSC system includes two parts: (1) a Docker container instance where the application is running inside Graphene-SGX and both of them are running inside the container instance; (2) a front-end named GSCE (GSC Engine) which takes a legacy Docker container image and automatically launches the contained application inside a GSC container instance. Launching a GSC container instance includes following steps: (1) Make sure there is a Docker container image of your application in the local or remote image repository. (2) Download and Compile Graphene-SGX; (2) Go to graphene/Tools (3) Run a GSC container via the following command: ./gsce run [All the arguments used for launching a normal Docker container] [docker Image Name:Tag]. Let's take redis, a key-value, in-memory database as an example. Assume the user runs a normal redis from its docker image as follows. docker run -i -t -p 6379:6379 redis:latest To launch a GSC container running redis, simply change docker to "./gsce", i.e., the user runs the command as follows. ./gsce run -i -t -p 6379:6379 redis:latest