-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathDockerfileSimulation
More file actions
71 lines (54 loc) · 2.44 KB
/
Copy pathDockerfileSimulation
File metadata and controls
71 lines (54 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Stage 1: Builder
FROM ubuntu:22.04 as builder
# ---- Install build packages ----
COPY scripts/install_packages.sh /install_packages.sh
RUN chmod +x /install_packages.sh && /install_packages.sh
RUN wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb && \
dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
# ---- Build Intel SGX SDK & PSW ----
RUN git clone -b sgx_2.25 --depth 1 https://github.com/intel/linux-sgx && \
cd linux-sgx && make -j$(nproc) preparation
WORKDIR /linux-sgx
COPY . .
RUN make sdk_install_pkg_no_mitigation
WORKDIR /opt/intel
RUN sh -c 'echo yes | /linux-sgx/linux/installer/bin/sgx_linux_x64_sdk_*.bin'
WORKDIR /linux-sgx
RUN make -j$(nproc) psw_install_pkg
# Stage 2: Final
FROM ubuntu:22.04
# ---- Install build packages ----
COPY scripts/install_packages.sh /install_packages.sh
RUN chmod +x /install_packages.sh && /install_packages.sh && rm -rf /var/lib/apt/lists/*
RUN wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb && \
dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb && rm -f libssl1.1_*.deb
# ---- Install Intel SGX SDK & PSW ----
WORKDIR /opt/intel
COPY --from=builder /opt/intel/sgxsdk /opt/intel/sgxsdk
COPY --from=builder /linux-sgx/linux/installer/bin/sgx_linux_x64_psw*.bin .
RUN ./sgx_linux_x64_psw*.bin --no-start-aesm && rm -f sgx_linux_x64_psw*.bin
# ---- Set up project source ----
COPY . /usr/src/sdk
RUN ls /usr/src/sdk/autoconf.bash
WORKDIR /usr/src/sdk
# ---- Install development & runtime packages ----
RUN apt update && \
apt install -yq apt-utils && \
apt install -yq --no-install-recommends ca-certificates perl \
alien uuid-dev libxml2-dev ccache \
yasm libprocps-dev \
libgnutls28-dev libgcrypt20-dev \
curl secure-delete python3-pip && \
ln -s /usr/bin/ccache /usr/local/bin/clang && \
ln -s /usr/bin/ccache /usr/local/bin/clang++ && \
ln -s /usr/bin/ccache /usr/local/bin/gcc && \
ln -s /usr/bin/ccache /usr/local/bin/g++ && \
ln -s /usr/bin/ccache /usr/local/bin/cc && \
ln -s /usr/bin/ccache /usr/local/bin/c++ && \
apt clean && rm -rf /var/lib/apt/lists/*
RUN pip3 install --no-cache-dir --upgrade pip && pip3 install --no-cache-dir requests torpy
# ---- Build dependencies, project, and clean up ----
RUN bash ./scripts/docker_build_main.sh --build-type=simulation
COPY docker/start.sh ./
COPY docker/check_firewall.py ./
ENTRYPOINT ["/usr/src/sdk/start.sh"]