Docker, pylibmc, memcached
<p>I've project that uses memcached. So when docker trying to "pip install pylibmc", library can't find libmemcached cause it's not installed yet. How can I organise my docker-compose.yml, or maybe I have to do something with dockerfile?</p>

<p>Now my docker-compose.yml looks like (I've deleted memcached container lines):</p>

<pre><code>version: '2'
    services:

      app:
        build: .
        volumes:
          - ./app:/usr/src/app
          - ./logs:/var/log
        expose:
          - "8000"
        links:
          - db:db
        networks:
          tickets-api:
            ipv4_address: 172.25.0.100
        extra_hosts:
          - "db:172.25.0.102"

      webserver:
        image: nginx:latest
        links:
          - app
          - db
        volumes_from:
          - app
        volumes:
          - ./nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
          - ./nginx/uwsgi_params:/etc/nginx/uwsgi_params
        ports:
          - "80:80"
        networks:
          tickets-api:
            ipv4_address: 172.25.0.101

      db:
        restart: always
        image: postgres
        volumes:
          - ./postgresql/pgdata:/pgdata
        ports:
          - "5432:5432"
        environment:
          - POSTGRES_USER=postgres
          - POSTGRES_PASSWORD=postgres
          - PGDATA=/pgdata
        networks:
          tickets-api:
            ipv4_address: 172.25.0.102

    networks:
      tickets-api:
        driver: bridge
        ipam:
          config:
          - subnet: 172.25.0.0/24
</code></pre>

<p>The easiest way to solve this problem is to update the <code>Dockerfile</code> for the app and install the development dependencies required to build the python package. </p>

<p>On ubuntu/debian that might be something like:</p>

<pre><code>apt-get install libmemcached-dev gcc python-dev
</code></pre>

<p>A second (more advantaged) option is to build a wheel for this package in a separate container, then install the wheel instead of the source tarball.  That way you don't have to install any other packages, and your final image will be much smaller. However it requires more work to setup.</p>

python docker memcached docker-compose pylibmc