Add deploy template for ubuntu20.04
This commit is contained in:
parent
6dab561327
commit
cec7474660
52
demos/deployment/Dockerfile_template.ubuntu20.04
Normal file
52
demos/deployment/Dockerfile_template.ubuntu20.04
Normal file
@ -0,0 +1,52 @@
|
||||
# base stage:
|
||||
# Install dependencies for deployment to get minimum size for deployer.
|
||||
# For deployment environment, only occlum-runtime and sgx-psw are needed.
|
||||
FROM ubuntu:20.04 as base
|
||||
LABEL maintainer="Chunyang Hui <sanqian.hcy@antgroup.com>"
|
||||
|
||||
ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1
|
||||
RUN apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends gnupg wget ca-certificates jq && \
|
||||
echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu focal main' | tee /etc/apt/sources.list.d/intel-sgx.list && \
|
||||
wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key add - && \
|
||||
echo 'deb [arch=amd64] https://occlum.io/occlum-package-repos/debian focal main' | tee /etc/apt/sources.list.d/occlum.list && \
|
||||
wget -qO - https://occlum.io/occlum-package-repos/debian/public.key | apt-key add - && \
|
||||
apt-get update && \
|
||||
apt-get install -y occlum libsgx-uae-service libsgx-dcap-ql&& \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
ENV PATH="/opt/occlum/build/bin:/usr/local/occlum/bin:$PATH"
|
||||
|
||||
|
||||
# packager stage:
|
||||
# Users can build their own applications and put to occlum instance.
|
||||
# And then use "occlum package" to get a minimum subset of files to run in deployment environment.
|
||||
# In this demo, the occlum instance is built in debug mode.
|
||||
# So "--debug" flag is required for the "occlum package".
|
||||
FROM base as packager
|
||||
WORKDIR /root
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends make gdb git libfuse-dev libtool tzdata && \
|
||||
git clone https://github.com/occlum/occlum.git && \
|
||||
cp -r /root/occlum/demos /root/demos && \
|
||||
apt-get install -y occlum && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /root/occlum && \
|
||||
cd /root && \
|
||||
occlum new occlum-instance && \
|
||||
cd /root/demos/hello_c && \
|
||||
make && cp hello_world /root/occlum-instance/image/bin && \
|
||||
cd /root/occlum-instance && occlum build && \
|
||||
occlum package --debug
|
||||
|
||||
|
||||
# deployer stage:
|
||||
# Unpack the package from packager
|
||||
FROM base as deployer
|
||||
WORKDIR /root
|
||||
COPY --from=packager /root/occlum-instance/occlum-instance.tar.gz .
|
||||
RUN tar -xvzf occlum-instance.tar.gz && \
|
||||
mkdir -p /var/run/aesmd && \
|
||||
echo "LD_LIBRARY_PATH=/opt/intel/sgx-aesm-service/aesm nohup /opt/intel/sgx-aesm-service/aesm/aesm_service --no-daemon >/dev/null 2>&1 &" > /root/.bashrc
|
||||
|
||||
WORKDIR /root
|
Loading…
Reference in New Issue
Block a user