Skip to content

Commit e76ee73

Browse files
committed
Localize dev. env.
- add my extensions - use privileged mode for development - copilot - intellisense -> clangd - jupyter notebook - SGX support - rust support - add opam stuff
1 parent 3fbb7fc commit e76ee73

File tree

4 files changed

+303
-73
lines changed

4 files changed

+303
-73
lines changed

.devcontainer/Dockerfile

+61-56
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/cpp/.devcontainer/base.Dockerfile
55
# [Choice] Debian / Ubuntu version (use Debian 12/11/9, Ubuntu 18.04/21.04 on local arm64/Apple Silicon): debian-12, debian-11, debian-10, debian-9, ubuntu-21.04, ubuntu-20.04, ubuntu-18.04
6-
ARG VARIANT=debian-12
7-
FROM mcr.microsoft.com/vscode/devcontainers/cpp:${VARIANT}
6+
ARG VARIANT=ubuntu-22.04
7+
FROM mcr.microsoft.com/devcontainers/cpp:1-${VARIANT}
88

99
ARG DEBIAN_FRONTEND=noninteractive
1010
ENV TZ=Asian/Shanghai
@@ -13,13 +13,11 @@ ENV TZ=Asian/Shanghai
1313
RUN apt-get update \
1414
&& apt-get upgrade -y \
1515
&& apt-get install -y apt-transport-https apt-utils build-essential \
16-
ca-certificates ccache cmake curl g++-multilib git gnupg \
17-
libgcc-12-dev lib32gcc-12-dev lsb-release \
16+
ca-certificates ccache clang curl g++-multilib git gnupg \
17+
libgcc-12-dev lib32gcc-12-dev llvm lsb-release \
1818
ninja-build ocaml ocamlbuild \
1919
software-properties-common tree tzdata \
20-
unzip valgrind vim wget zip --no-install-recommends \
21-
&& apt-get clean -y \
22-
&& rm -rf /var/lib/apt/lists/*
20+
unzip valgrind vim wget zip --no-install-recommends
2321

2422
#
2523
# binaryen
@@ -30,19 +28,6 @@ RUN wget -c --progress=dot:giga https://github.com/WebAssembly/binaryen/releases
3028
&& ln -sf /opt/binaryen-version_${BINARYEN_VER} /opt/binaryen \
3129
&& rm binaryen-version_${BINARYEN_VER}-x86_64-linux.tar.gz
3230

33-
#
34-
# CMAKE (https://apt.kitware.com/)
35-
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
36-
# hadolint ignore=DL3008
37-
ARG CMAKE_VER=3.27.0
38-
RUN wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VER}/cmake-${CMAKE_VER}-Linux-x86_64.sh \
39-
-q -O /tmp/cmake-install.sh \
40-
&& chmod u+x /tmp/cmake-install.sh \
41-
&& mkdir /opt/cmake-${CMAKE_VER} \
42-
&& /tmp/cmake-install.sh --skip-license --prefix=/opt/cmake-${CMAKE_VER} \
43-
&& rm /tmp/cmake-install.sh \
44-
&& ln -s /opt/cmake-${CMAKE_VER}/bin/* /usr/local/bin
45-
4631
#
4732
# install emsdk
4833
WORKDIR /opt
@@ -66,10 +51,10 @@ RUN wget -c --progress=dot:giga https://github.com/WebAssembly/wasi-sdk/releases
6651
#
6752
#install wabt
6853
ARG WABT_VER=1.0.33
69-
RUN wget -c --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/${WABT_VER}/wabt-${WABT_VER}-ubuntu.tar.gz -P /opt \
70-
&& tar xf /opt/wabt-${WABT_VER}-ubuntu.tar.gz -C /opt \
54+
RUN wget -c --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/${WABT_VER}/wabt-${WABT_VER}-ubuntu-20.04.tar.gz -P /opt \
55+
&& tar xf /opt/wabt-${WABT_VER}-ubuntu-20.04.tar.gz -C /opt \
7156
&& ln -sf /opt/wabt-${WABT_VER} /opt/wabt \
72-
&& rm /opt/wabt-${WABT_VER}-ubuntu.tar.gz
57+
&& rm /opt/wabt-${WABT_VER}-ubuntu-20.04.tar.gz
7358

7459
#
7560
# install bazelisk
@@ -81,47 +66,23 @@ RUN mkdir /opt/bazelisk \
8166

8267
#
8368
# install clang+llvm
84-
ARG LLVM_VER=16
85-
RUN apt-get purge -y clang-14 llvm-14 && apt-get autoremove -y
86-
WORKDIR /etc/apt/apt.conf.d
87-
RUN touch 99verfiy-peer.conf \
88-
&& echo "Acquire { https::Verify-Peer false }" > 99verfiy-peer.conf
89-
90-
WORKDIR /tmp
91-
#RUN wget --progress=dot:giga https://apt.llvm.org/llvm.sh \
92-
# && chmod a+x ./llvm.sh \
93-
# && ./llvm.sh ${LLVM_VER} all
94-
95-
# Workaround due to https://github.com/llvm/llvm-project/issues/62475
96-
# hadolint ignore=DL3008
97-
RUN set -ex \
98-
&& echo "deb http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-${LLVM_VER} main" > /etc/apt/sources.list.d/apt.llvm.org.list \
99-
&& wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc \
100-
&& apt-get update \
101-
&& apt-get install -y \
102-
clang-${LLVM_VER} lldb-${LLVM_VER} lld-${LLVM_VER} clangd-${LLVM_VER} clang-tidy-${LLVM_VER} clang-format-${LLVM_VER} clang-tools-${LLVM_VER} \
103-
llvm-${LLVM_VER}-dev lld-${LLVM_VER} lldb-${LLVM_VER} llvm-${LLVM_VER}-tools libomp-${LLVM_VER}-dev libc++-${LLVM_VER}-dev libc++abi-${LLVM_VER}-dev \
104-
libclang-common-${LLVM_VER}-dev libclang-${LLVM_VER}-dev libclang-cpp${LLVM_VER}-dev libunwind-${LLVM_VER}-dev \
105-
libclang-rt-${LLVM_VER}-dev libpolly-${LLVM_VER}-dev --no-install-recommends \
106-
&& apt-get clean -y \
107-
&& rm -rf /var/lib/apt/lists/*
108-
109-
#
110-
# [Optional]
69+
ARG LLVM_VER=15.0.6
70+
RUN wget https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/clang+llvm-${LLVM_VER}-x86_64-linux-gnu-ubuntu-18.04.tar.xz
71+
RUN tar -xvf clang+llvm-${LLVM_VER}-x86_64-linux-gnu-ubuntu-18.04.tar.xz \
72+
&& mv clang+llvm-${LLVM_VER}-x86_64-linux-gnu-ubuntu-18.04 llvm-${LLVM_VER} \
73+
&& rm clang+llvm-${LLVM_VER}-x86_64-linux-gnu-ubuntu-18.04.tar.xz
11174

11275
#
11376
# Install pip
11477
# hadolint ignore=DL3008
11578
RUN apt-get update \
11679
&& apt-get install -y --reinstall python3-venv python3-pip --no-install-recommends \
117-
&& apt-get clean -y \
118-
&& rm -rf /var/lib/apt/lists/*
80+
&& pip install --no-cache-dir --upgrade pip
11981

12082
#
12183
# Install required python packages
12284
# hadolint ignore=DL3013
123-
RUN python3 -m pip install --no-cache-dir --break-system-packages --upgrade pip \
124-
&& pip3 install --no-cache-dir --break-system-packages black nose pycparser pylint
85+
RUN pip3 install --no-cache-dir black jupyter nose numpy pycparser pylint
12586

12687
#
12788
# Install github-cli. It doens't work as a feature of devcontainer.json
@@ -136,15 +97,59 @@ RUN wget -qO- https://deb.nodesource.com/setup_20.x | bash -
13697
# hadolint ignore=DL3008
13798
RUN apt-get install -y nodejs --no-install-recommends
13899

100+
#
101+
# SGX setup
102+
RUN mkdir -p /opt/intel
103+
104+
WORKDIR /opt/intel
105+
RUN wget -q https://download.01.org/intel-sgx/sgx-linux/2.21/distro/ubuntu22.04-server/sgx_linux_x64_sdk_2.21.100.1.bin \
106+
&& chmod +x sgx_linux_x64_sdk_2.21.100.1.bin
107+
RUN echo 'yes' | ./sgx_linux_x64_sdk_2.21.100.1.bin
108+
RUN source /opt/intel/sgxsdk/environment
109+
110+
# RUN echo 'deb [signed-by=/etc/apt/keyrings/intel-sgx-keyring.asc arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu jammy main' | sudo tee /etc/apt/sources.list.d/intel-sgx.list \
111+
# && wget https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key \
112+
# && cat intel-sgx-deb.key | sudo tee /etc/apt/keyrings/intel-sgx-keyring.asc
113+
# RUN sudo apt update \
114+
# && sudo apt install -y libsgx-launch libsgx-urts libsgx-enclave-common
115+
116+
117+
#
118+
# Install Rust
119+
# WORKDIR /tmp
120+
# ENV RUSTUP_HOME=/usr/local/cargo
121+
# ENV CARGO_HOME=/usr/local/cargo
122+
# RUN curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf -o install_rust.sh
123+
# RUN chmod a+x install_rust.sh \
124+
# && ./install_rust.sh -v -y
125+
# ENV PATH="/usr/local/cargo/bin:${PATH}"
126+
127+
#
128+
# Install wasm-tools from binary releasing
129+
ARG WASM_TOOLS_VER=1.0.38
130+
WORKDIR /opt
131+
RUN wget -c --progress=dot:giga https://github.com/bytecodealliance/wasm-tools/releases/download/wasm-tools-${WASM_TOOLS_VER}/wasm-tools-${WASM_TOOLS_VER}-x86_64-linux.tar.gz
132+
RUN tar xzf wasm-tools-${WASM_TOOLS_VER}-x86_64-linux.tar.gz \
133+
&& rm wasm-tools-${WASM_TOOLS_VER}-x86_64-linux.tar.gz \
134+
&& ln -sf /opt/wasm-tools-${WASM_TOOLS_VER}-x86_64-linux/wasm-tools /usr/bin/wasm-tools
135+
136+
#
137+
# Install wit-bindgen
138+
RUN cargo install --git https://github.com/bytecodealliance/wit-bindgen wit-bindgen-cli
139+
140+
#
141+
# Install perf
142+
RUN apt update \
143+
&& apt-get install -y linux-tools-generic linux-tools-$(uname -a | awk '{print $3}') \
144+
139145
# set path
140146
ENV PATH="/opt/bazelisk:/usr/lib/llvm-${LLVM_VER}/bin:${PATH}"
141-
ENV CC=/usr/lib/llvm-${LLVM_VER}/bin/clang CXX=/usr/lib/llvm-${LLVM_VER}/bin/clang++
147+
# ENV CC=/usr/lib/llvm-${LLVM_VER}/bin/clang CXX=/usr/lib/llvm-${LLVM_VER}/bin/clang++
142148
RUN printf "%s\n" "PS1='\n[ \u@wamr-dev-docker \W ]\n$ '" >> /root/.bashrc \
143149
&& apt-get autoremove -y \
144150
&& apt-get clean -y \
145151
&& rm -rf /var/lib/apt/lists/* \
146152
&& rm -rf /tmp/*
147153

148154
# set workdir when container run
149-
VOLUME /workspaces
150155
WORKDIR /workspaces

.devcontainer/Dockerfile-SGX

+203
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
# Copyright (C) 2019 Intel Corporation. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3+
4+
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/cpp/.devcontainer/base.Dockerfile
5+
# [Choice] Debian / Ubuntu version (use Debian 12/11/9, Ubuntu 18.04/21.04 on local arm64/Apple Silicon): debian-12, debian-11, debian-10, debian-9, ubuntu-21.04, ubuntu-20.04, ubuntu-18.04
6+
ARG VARIANT=jammy
7+
FROM mcr.microsoft.com/devcontainers/base:${VARIANT}
8+
9+
ARG DEBIAN_FRONTEND=noninteractive
10+
ENV TZ=Asian/Shanghai
11+
12+
# hadolint ignore=DL3008
13+
RUN apt-get update \
14+
&& apt-get upgrade -y \
15+
&& apt-get install -y apt-transport-https apt-utils build-essential \
16+
ca-certificates ccache cmake curl g++-multilib git gnupg \
17+
libgcc-12-dev lib32gcc-12-dev libstdc++-12-dev lsb-release \
18+
ninja-build ocaml ocamlbuild \
19+
software-properties-common tree tzdata \
20+
unzip valgrind vim wget zip --no-install-recommends
21+
22+
#
23+
# binaryen
24+
ARG BINARYEN_VER=114
25+
WORKDIR /opt
26+
RUN wget -c --progress=dot:giga https://github.com/WebAssembly/binaryen/releases/download/version_${BINARYEN_VER}/binaryen-version_${BINARYEN_VER}-x86_64-linux.tar.gz \
27+
&& tar xf binaryen-version_${BINARYEN_VER}-x86_64-linux.tar.gz \
28+
&& ln -sf /opt/binaryen-version_${BINARYEN_VER} /opt/binaryen \
29+
&& rm binaryen-version_${BINARYEN_VER}-x86_64-linux.tar.gz
30+
31+
#
32+
# CMAKE (https://apt.kitware.com/)
33+
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
34+
# hadolint ignore=DL3008
35+
ARG CMAKE_VER=3.27.0
36+
RUN wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VER}/cmake-${CMAKE_VER}-Linux-x86_64.sh \
37+
-q -O /tmp/cmake-install.sh \
38+
&& chmod u+x /tmp/cmake-install.sh \
39+
&& mkdir /opt/cmake-${CMAKE_VER} \
40+
&& /tmp/cmake-install.sh --skip-license --prefix=/opt/cmake-${CMAKE_VER} \
41+
&& rm /tmp/cmake-install.sh \
42+
&& ln -s /opt/cmake-${CMAKE_VER}/bin/* /usr/local/bin
43+
44+
#
45+
# install emsdk
46+
WORKDIR /opt
47+
RUN git clone https://github.com/emscripten-core/emsdk.git
48+
49+
ARG EMSDK_VER=3.1.43
50+
WORKDIR /opt/emsdk
51+
RUN git pull \
52+
&& ./emsdk install ${EMSDK_VER} \
53+
&& ./emsdk activate ${EMSDK_VER} \
54+
&& echo "source /opt/emsdk/emsdk_env.sh" >> /root/.bashrc
55+
56+
#
57+
# install wasi-sdk
58+
ARG WASI_SDK_VER=21
59+
RUN wget -c --progress=dot:giga https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER}/wasi-sdk-${WASI_SDK_VER}.0-linux.tar.gz -P /opt \
60+
&& tar xf /opt/wasi-sdk-${WASI_SDK_VER}.0-linux.tar.gz -C /opt \
61+
&& ln -sf /opt/wasi-sdk-${WASI_SDK_VER}.0 /opt/wasi-sdk \
62+
&& rm /opt/wasi-sdk-${WASI_SDK_VER}.0-linux.tar.gz
63+
64+
#
65+
#install wabt
66+
ARG WABT_VER=1.0.34
67+
RUN wget -c --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/${WABT_VER}/wabt-${WABT_VER}-ubuntu-20.04.tar.gz -P /opt \
68+
&& tar xf /opt/wabt-${WABT_VER}-ubuntu-20.04.tar.gz -C /opt \
69+
&& ln -sf /opt/wabt-${WABT_VER} /opt/wabt \
70+
&& rm /opt/wabt-${WABT_VER}-ubuntu-20.04.tar.gz
71+
72+
#
73+
# install bazelisk
74+
ARG BAZELISK_VER=1.17.0
75+
RUN mkdir /opt/bazelisk \
76+
&& wget -c --progress=dot:giga https://github.com/bazelbuild/bazelisk/releases/download/v${BAZELISK_VER}/bazelisk-linux-amd64 -P /opt/bazelisk \
77+
&& chmod a+x /opt/bazelisk/bazelisk-linux-amd64 \
78+
&& ln -fs /opt/bazelisk/bazelisk-linux-amd64 /opt/bazelisk/bazel
79+
80+
#
81+
# install clang+llvm
82+
ARG LLVM_VER=15
83+
# RUN apt-get purge -y clang-14 llvm-14 && apt-get autoremove -y
84+
# WORKDIR /etc/apt/apt.conf.d
85+
# RUN touch 99verfiy-peer.conf \
86+
# && echo "Acquire { https::Verify-Peer false }" > 99verfiy-peer.conf
87+
#
88+
# WORKDIR /tmp
89+
# RUN wget --progress=dot:giga https://apt.llvm.org/llvm.sh \
90+
# && chmod a+x ./llvm.sh \
91+
# && ./llvm.sh ${LLVM_VER} all
92+
93+
# Workaround due to https://github.com/llvm/llvm-project/issues/62475
94+
# hadolint ignore=DL3008nn
95+
# RUN set -ex \
96+
# && echo "deb http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-${LLVM_VER} main" > /etc/apt/sources.list.d/apt.llvm.org.list \
97+
# && wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc \
98+
# && apt-get update \
99+
# && apt-get install -y \
100+
# clang-${LLVM_VER} lldb-${LLVM_VER} lld-${LLVM_VER} clangd-${LLVM_VER} clang-tidy-${LLVM_VER} clang-format-${LLVM_VER} clang-tools-${LLVM_VER} \
101+
# llvm-${LLVM_VER}-dev lld-${LLVM_VER} lldb-${LLVM_VER} llvm-${LLVM_VER}-tools libomp-${LLVM_VER}-dev libc++-${LLVM_VER}-dev libc++abi-${LLVM_VER}-dev \
102+
# libclang-common-${LLVM_VER}-dev libclang-${LLVM_VER}-dev libclang-cpp${LLVM_VER}-dev libunwind-${LLVM_VER}-dev \
103+
# libclang-rt-${LLVM_VER}-dev libpolly-${LLVM_VER}-dev --no-install-recommends \
104+
# && apt-get clean -y \
105+
# && rm -rf /var/lib/apt/lists/*
106+
#
107+
#
108+
# [Optional]
109+
110+
RUN apt update \
111+
&& apt install -y llvm-${LLVM_VER} libmlir-${LLVM_VER}-dev \
112+
libclang-common-${LLVM_VER}-dev libedit-dev libpfm4-dev
113+
114+
#
115+
# Install pip
116+
# hadolint ignore=DL3008
117+
RUN apt-get update \
118+
&& apt-get install -y --reinstall python3-venv python3-pip --no-install-recommends \
119+
&& apt-get clean -y \
120+
&& rm -rf /var/lib/apt/lists/*
121+
122+
#
123+
# Install required python packages
124+
# hadolint ignore=DL3013
125+
RUN python3 -m pip install --no-cache-dir --upgrade pip \
126+
&& pip3 install --no-cache-dir black jupyter nose numpy pycparser pylint
127+
128+
#
129+
# Install github-cli. It doens't work as a feature of devcontainer.json
130+
# ARG GH_CLI_VER=2.32.0
131+
# WORKDIR /tmp
132+
# RUN wget -q https://github.com/cli/cli/releases/download/v${GH_CLI_VER}/gh_${GH_CLI_VER}_linux_amd64.deb \
133+
# && dpkg -i gh_${GH_CLI_VER}_linux_amd64.deb
134+
135+
#
136+
# Install NodeJS
137+
# RUN wget -qO- https://deb.nodesource.com/setup_20.x | bash -
138+
# # hadolint ignore=DL3008
139+
# RUN apt-get install -y nodejs --no-install-recommends
140+
141+
#
142+
# SGX setup
143+
RUN mkdir -p /opt/intel
144+
145+
WORKDIR /opt/intel
146+
RUN wget -q https://download.01.org/intel-sgx/sgx-linux/2.21/distro/ubuntu22.04-server/sgx_linux_x64_sdk_2.21.100.1.bin \
147+
&& chmod +x sgx_linux_x64_sdk_2.21.100.1.bin
148+
RUN echo 'yes' | ./sgx_linux_x64_sdk_2.21.100.1.bin
149+
RUN source /opt/intel/sgxsdk/environment
150+
151+
RUN echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu jammy main' | sudo tee /etc/apt/sources.list.d/intel-sgx.list \
152+
&& wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key add -
153+
154+
RUN apt update \
155+
&& apt install -y libsgx-launch libsgx-urts
156+
157+
#
158+
# Install wasm-tools from binary releasing
159+
ARG WASM_TOOLS_VER=1.201.0
160+
WORKDIR /opt
161+
RUN wget -c --progress=dot:giga https://github.com/bytecodealliance/wasm-tools/releases/download/v${WASM_TOOLS_VER}/wasm-tools-${WASM_TOOLS_VER}-x86_64-linux.tar.gz
162+
RUN tar xzf wasm-tools-${WASM_TOOLS_VER}-x86_64-linux.tar.gz \
163+
&& rm wasm-tools-${WASM_TOOLS_VER}-x86_64-linux.tar.gz \
164+
&& ln -sf /opt/wasm-tools-${WASM_TOOLS_VER}-x86_64-linux/wasm-tools /usr/bin/wasm-tools
165+
166+
#
167+
# Install wit-bindgen
168+
ARG WIT_BINDGEN_VER=0.21.0
169+
WORKDIR /opt
170+
RUN wget -c --progress=dot:giga https://github.com/bytecodealliance/wit-bindgen/releases/download/v${WIT_BINDGEN_VER}/wit-bindgen-${WIT_BINDGEN_VER}-x86_64-linux.tar.gz
171+
RUN tar xzf wit-bindgen-${WIT_BINDGEN_VER}-x86_64-linux.tar.gz \
172+
&& rm wit-bindgen-${WIT_BINDGEN_VER}-x86_64-linux.tar.gz
173+
174+
#
175+
# Install perf
176+
ARG KERNEL_VER=5.15.0-97
177+
RUN apt update \
178+
&& apt-get install -y linux-tools-generic linux-tools-${KERNEL_VER}-generic \
179+
&& apt-get install -y linux-headers-${KERNEL_VER}
180+
181+
#
182+
# Install extra clang tools and lldb
183+
RUN apt update \
184+
&& apt install -y clang-tools-${LLVM_VER} clang-tidy-${LLVM_VER} clang-format-${LLVM_VER} clangd-${LLVM_VER} \
185+
&& apt install -y lldb-${LLVM_VER} python3-lldb-${LLVM_VER}
186+
187+
#
188+
# Install Ocaml
189+
RUN apt update \
190+
&& apt install -y opam ocaml ocamlbuild
191+
192+
# set path
193+
ENV PATH="/home/vscode/.opam/default/bin:/opt/bazelisk:/usr/lib/llvm-${LLVM_VER}/bin:${PATH}"
194+
# ENV CC=/usr/lib/llvm-${LLVM_VER}/bin/clang CXX=/usr/lib/llvm-${LLVM_VER}/bin/clang++
195+
RUN printf "%s\n" "PS1='\n[ \u@wamr-dev-docker \W ]\n$ '" >> /root/.bashrc \
196+
&& apt-get autoremove -y \
197+
&& apt-get clean -y \
198+
&& rm -rf /var/lib/apt/lists/* \
199+
&& rm -rf /tmp/*
200+
201+
# set workdir when container run
202+
VOLUME /workspaces
203+
WORKDIR /workspaces

0 commit comments

Comments
 (0)