浏览代码

TEEMS now runs in the docker

Ian Goldberg 1 年之前
父节点
当前提交
4ac32898d1
共有 4 个文件被更改,包括 29 次插入1 次删除
  1. 9 1
      docker/Dockerfile
  2. 9 0
      docker/build-docker
  3. 8 0
      docker/start-docker
  4. 3 0
      docker/stop-docker

+ 9 - 1
docker/Dockerfile

@@ -24,7 +24,15 @@ RUN addgroup sgx
 RUN addgroup sgx_prv
 RUN adduser aesmd sgx
 RUN adduser aesmd sgx_prv
-COPY start-aesmd /usr/local/sbin
+COPY docker/start-aesmd /usr/local/sbin
 RUN chown aesmd.aesmd /var/run/aesmd
 RUN chmod 755 /usr/local/sbin/start-aesmd
 ENTRYPOINT ["/usr/local/sbin/start-aesmd"]
+
+FROM sgx
+WORKDIR /root
+RUN apt update && apt install -y libboost-dev libboost-thread-dev \
+    numactl python3-numpy python3-yaml
+COPY . teems
+WORKDIR /root/teems
+RUN make -j`nproc` App/teems Enclave/enclave.so Client/clients

+ 9 - 0
docker/build-docker

@@ -0,0 +1,9 @@
+#!/bin/bash
+
+# cd into the directory containing this script (from the bash faq 028)
+if [[ $BASH_SOURCE = */* ]]; then
+  cd -- "${BASH_SOURCE%/*}/" || exit
+fi
+
+cd ..
+docker build $* -t ${TEEMS_DOCKER_PREFIX}teems -f docker/Dockerfile .

+ 8 - 0
docker/start-docker

@@ -0,0 +1,8 @@
+#!/bin/bash
+
+# The SYS_NICE capability allows you to use numactl to pin processes to
+# NUMA nodes and/or individual cores
+
+docker run -d --cap-add SYS_NICE --rm --device /dev/sgx_enclave \
+    --device /dev/sgx_provision --name ${TEEMS_DOCKER_PREFIX}teems \
+    -t ${TEEMS_DOCKER_PREFIX}teems bash

+ 3 - 0
docker/stop-docker

@@ -0,0 +1,3 @@
+#!/bin/bash
+
+docker stop -t 0 ${TEEMS_DOCKER_PREFIX}teems