Dockerfile54 lines · 1420 chars # syntax=docker/dockerfile:1
FROM ubuntu:22.04
ARG DEBIAN_FRONTEND=noninteractive
ENV LANG=C.UTF-8
# Install essential build tools and dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
curl \
git \
unzip \
zip \
python3.11 \
python3.11-venv \
python3-pip \
pkg-config \
libffi-dev \
libssl-dev \
zlib1g-dev \
libbz2-dev \
libreadline-dev \
wget \
sudo \
gnupg \
&& rm -rf /var/lib/apt/lists/*
# Install Bazelisk (bazel version manager)
RUN curl -L -o /usr/local/bin/bazel "https://github.com/bazelbuild/bazelisk/releases/download/v1.21.0/bazelisk-linux-amd64" && \
chmod +x /usr/local/bin/bazel
WORKDIR /workspace
COPY . /workspace
# Ensure Python 3.11 is the default python
RUN ln -sf /usr/bin/python3.11 /usr/bin/python3 && \
ln -sf /usr/bin/python3.11 /usr/bin/python && \
python3.11 -m pip install --no-cache-dir -U pip setuptools wheel
# Simple C program sanity check
RUN echo 'int main(){return 0;}' > /workspace/hello.c && \
gcc /workspace/hello.c -o /workspace/hello && \
/workspace/hello
# Bazel version information (optional smoke test)
RUN bazel --version || true
RUN bazel build //tensorflow/tools/pip_package:build_pip_package || true
CMD ["/bin/bash"]