Quiero obtener el sistema operativo que estoy ejecutando dentro de un Docker.

Así es como se ve mi docker-compose y estoy heredando de la imagen python:2.7

 version: '2'
 services:
   robot-configuration-interface:
     build: '.'
     restart: always
     network_mode: 'host'
     ports:
       - 8000:80
     environment:
       - REDIS_HOST=localhost
       - DEBUG=true
     volumes:
       - ~/logs/fetchcore-server:/var/log/supervisor
       - /var/run/docker.sock:/var/run/docker.sock
       - /opt/ros/indigo:/opt/ros/indigo
       - /etc/environment:/etc/environment
       - /etc/NetworkManager/system-connections/:/etc/NetworkManager/system-connections/
       - /lib:/lib
       - /usr/lib/:/usr/lib
       - /usr/bin/:/usr/bin/
       - /var/run/:/var/run/
     privileged: true
     user: root

El comando lsb_release -d devuelve Debian GNU / Linux 8.7 (n / a) en lugar de Ubuntu 14.04.5 LTS a pesar de que estoy montando /usr/bin

2
cjds 30 mar. 2017 a las 20:45

2 respuestas

La mejor respuesta

LSB está en desuso / ignorado en las distribuciones basadas en Debian, y el archivo no está presente en las imágenes de Docker de las distribuciones más populares.

/ etc / os-release se prefiere ahora. Puede ver que este archivo está presente en las imágenes de Docker de muchas distribuciones (incluso Alpine), que no es el caso con / etc / lsb-release.

7
Ricardo Branco 30 mar. 2017 a las 19:48

La respuesta es montar /etc/lsb-release en los volúmenes

-2
cjds 30 mar. 2017 a las 18:08