He creado un contenedor Docker con una imagen base de Ubuntu. Establecer las variables de entorno a través de un archivo .env. Al ejecutar el contenedor, puedo ver cómo se pasan las variables mediante el terminal de shell.

Quiero poder obtener las variables env en mi wp-config. Estoy usando getenv pero no funciona.

Alguna sugerencia..

Gracias

1
Upfrontbeats 9 sep. 2018 a las 17:20

3 respuestas

La mejor respuesta

En ambas respuestas anteriores, ya podía pasar las variables env a mi entorno apache servido por docker. Solo necesitaba agregar Pass env_name al archivo .htaccess para cada variable env.

Entonces podría obtener los valores a través del $ SERVER ['env_name'] dentro de mi aplicación php.

0
Upfrontbeats 12 sep. 2018 a las 08:43

Utiliza el archivo .env, por lo que ciertamente utiliza docker-compose. Si no utiliza docker-compose, .env no tendrá efecto. Y el archivo .env debe colocarse en el directorio donde se ejecuta docker-compose.

Toda la solución podría ser algo como:

.env

MY_VARIABLE=abc

docker-compose.yml

version: '3'
services:
  my_service:
    environment:
      - MY_VARIABLE="${MY_VARIABLE}"

wp-config.php

echo getenv('MY_VARIABLE');

Supongo que no obtuvo env porque no hizo - MY_VARIABLE="${MY_VARIABLE}" en docker-compose.yml, el valor en .env no actuará automáticamente como una variable de entorno al contenedor, debe manejarlo en componer archivo. FYI.

Los detalles se refieren a la guía oficial

0
atline 10 sep. 2018 a las 02:59

Puede configurar la variable de entorno para su contenedor acoplable de 2 maneras

  1. En el comando Docker Run, use docker run -e VARIABLE=VALUE ...
  2. En el archivo docker-compose puede configurar como:

      environment:
        - DEBUG=1
    

    https://docs.docker.com/compose / ambiente-variables / # set-ambiente-variables-en-contenedores

0
Hemant Singh 9 sep. 2018 a las 15:52