Add Docker files for Python.

pull/530/head
Nathaniel Manista 10 years ago
parent 1d1f952731
commit d4cb0d649c
  1. 38
      tools/dockerfile/grpc_python/Dockerfile
  2. 11
      tools/dockerfile/grpc_python/README.md
  3. 20
      tools/dockerfile/grpc_python_base/Dockerfile
  4. 7
      tools/dockerfile/grpc_python_base/README.md

@ -0,0 +1,38 @@
# Dockerfile for GRPC Python
FROM grpc/python_base
# Build the C library
RUN cd /var/local/git/grpc \
&& git pull --recurse-submodules \
&& git submodule update --init --recursive
# Build the C core.
RUN make install_c -C /var/local/git/grpc
# Build Python GRPC
RUN cd /var/local/git/grpc \
&& pip install src/python/src \
&& pip install src/python/interop
# Run Python GRPC's tests
RUN cd /var/local/git/grpc \
# TODO(nathaniel): It would be nice for these to be auto-discoverable?
&& python2.7 -B -m _adapter._blocking_invocation_inline_service_test
&& python2.7 -B -m _adapter._c_test
&& python2.7 -B -m _adapter._event_invocation_synchronous_event_service_test
&& python2.7 -B -m _adapter._future_invocation_asynchronous_event_service_test
&& python2.7 -B -m _adapter._links_test
&& python2.7 -B -m _adapter._lonely_rear_link_test
&& python2.7 -B -m _adapter._low_test
&& python2.7 -B -m _framework.base.packets.implementations_test
&& python2.7 -B -m _framework.face.blocking_invocation_inline_service_test
&& python2.7 -B -m _framework.face.event_invocation_synchronous_event_service_test
&& python2.7 -B -m _framework.face.future_invocation_asynchronous_event_service_test
&& python2.7 -B -m _framework.foundation._later_test
&& python2.7 -B -m _framework.foundation._logging_pool_test
# Add a cacerts directory containing the Google root pem file, allowing the interop client to access the production test instance
ADD cacerts cacerts
# Specify the default command such that the interop server runs on its known testing port
CMD ["/bin/bash", "-l", "-c", "python2.7 -m interop.server --use_tls --port 8050"]

@ -0,0 +1,11 @@
GRPC Python Dockerfile
====================
Dockerfile for creating the Python development instances
As of 2015/02 this
- is based on the GRPC Python base
- adds a pull of the HEAD GRPC Python source from GitHub
- builds it
- runs its tests and aborts image creation if the tests don't pass
- specifies the Python GRPC interop test server as default command

@ -0,0 +1,20 @@
# Base Dockerfile for GRPC Python.
#
# Includes Python environment and installation dependencies.
FROM grpc/base
# Allows 'source' to work
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
# Install Python development
RUN apt-get update && apt-get install -y \
python-all-dev \
python3-all-dev \
python-pip \
python-virtualenv \
# Install Python packages from PyPI
RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.0.0-alpha-1
# Get the GRPC source from GitHub
RUN git clone --recursive git@github.com:google/grpc.git /var/local/git/grpc

@ -0,0 +1,7 @@
GRPC Python Base Dockerfile
========================
Dockerfile for creating the Python GRPC development Docker instance.
As of 2015/02 this
- installs tools and dependencies needed to build GRPC Python
Loading…
Cancel
Save