xref: /aosp_15_r20/external/crosvm/tools/contrib/minimal_containers/Dockerfile.ubuntu (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker# Copyright 2023 The ChromiumOS Authors
2*bb4ee6a4SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*bb4ee6a4SAndroid Build Coastguard Worker# found in the LICENSE file.
4*bb4ee6a4SAndroid Build Coastguard Worker
5*bb4ee6a4SAndroid Build Coastguard WorkerFROM docker.io/ubuntu:kinetic-20221130
6*bb4ee6a4SAndroid Build Coastguard Worker
7*bb4ee6a4SAndroid Build Coastguard Worker# Allow APT to cache packages between docker image builds
8*bb4ee6a4SAndroid Build Coastguard WorkerRUN rm -f /etc/apt/apt.conf.d/docker-clean; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
9*bb4ee6a4SAndroid Build Coastguard Worker
10*bb4ee6a4SAndroid Build Coastguard Worker# Install dependencies (APT and cargo packages are cached between image builds for faster iterative builds).
11*bb4ee6a4SAndroid Build Coastguard WorkerCOPY --chmod=555 tools/install-deps rust-toolchain /tools/
12*bb4ee6a4SAndroid Build Coastguard WorkerRUN --mount=type=cache,target=/var/cache/apt,sharing=private \
13*bb4ee6a4SAndroid Build Coastguard Worker    --mount=type=cache,target=/var/lib/apt,sharing=private \
14*bb4ee6a4SAndroid Build Coastguard Worker    --mount=type=cache,target=/scratch/cargo_target,sharing=private \
15*bb4ee6a4SAndroid Build Coastguard Worker    apt-get update \
16*bb4ee6a4SAndroid Build Coastguard Worker    # sudo is installed here since it's required by install-deps.
17*bb4ee6a4SAndroid Build Coastguard Worker    # tzdata is installed here so it won't later prompt for configuration.
18*bb4ee6a4SAndroid Build Coastguard Worker    && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --yes sudo tzdata \
19*bb4ee6a4SAndroid Build Coastguard Worker    # Run crosvm's install-deps
20*bb4ee6a4SAndroid Build Coastguard Worker    && cd tools \
21*bb4ee6a4SAndroid Build Coastguard Worker    && ./install-deps
22*bb4ee6a4SAndroid Build Coastguard Worker
23*bb4ee6a4SAndroid Build Coastguard WorkerENV PATH=$PATH:~/.cargo/bin
24*bb4ee6a4SAndroid Build Coastguard Worker
25*bb4ee6a4SAndroid Build Coastguard WorkerVOLUME /workspace
26*bb4ee6a4SAndroid Build Coastguard WorkerWORKDIR /workspace
27