compose-go icon indicating copy to clipboard operation
compose-go copied to clipboard

Support for non-ASCII characters in environment variable names

Open nevergone opened this issue 2 years ago • 0 comments

Why not allow all characters in variable names when env_file is used? Why not let the system shell handle this if Docker allows it? Related issue: https://github.com/docker/compose/issues/8862

Docker version 20.10.17, build 100c701

$ docker run --rm -e árvíztűrő-TÜKÖRFÚRÓGÉP=ÁRVÍZTŰRŐ-tükörfúrógép ubuntu env

output:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=18f81a2d4cf5
árvíztűrő-TÜKÖRFÚRÓGÉP=ÁRVÍZTŰRŐ-tükörfúrógép
HOME=/root

docker-compose version 1.29.2, build 5becea4c

docker-compose.yml (environment):

services:
  cli:
    image: ubuntu
    environment:
      árvíztűrő-TÜKÖRFÚRÓGÉP: ÁRVÍZTŰRŐ-tükörfúrógép
    command: env

output:

$ docker-compose up
Creating network "ramdisk_default" with the default driver
Creating ramdisk_cli_1 ... done
Attaching to ramdisk_cli_1
cli_1  | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
cli_1  | HOSTNAME=73fcdcfb0656
cli_1  | árvíztűrő-TÜKÖRFÚRÓGÉP=ÁRVÍZTŰRŐ-tükörfúrógép
cli_1  | HOME=/root
ramdisk_cli_1 exited with code 0

docker-compose.yml (env_file):

services:
  cli:
    image: ubuntu
    env_file:
      - env.test.txt
    command: env

env.test.txt:

árvíztűrő-TÜKÖRFÚRÓGÉP=ÁRVÍZTŰRŐ-tükörfúrógép

output:

$ docker-compose up
Starting ramdisk_cli_1 ... done
Attaching to ramdisk_cli_1
cli_1  | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
cli_1  | HOSTNAME=73fcdcfb0656
cli_1  | árvíztűrő-TÜKÖRFÚRÓGÉP=ÁRVÍZTŰRŐ-tükörfúrógép
cli_1  | HOME=/root
ramdisk_cli_1 exited with code 0

Docker Compose version v2.6.1

docker-compose.yml (environment):

services:
  cli:
    image: ubuntu
    environment:
      árvíztűrő-TÜKÖRFÚRÓGÉP: ÁRVÍZTŰRŐ-tükörfúrógép
    command: env

output:

$ docker-compose up
[+] Running 1/0
 ⠿ Container ramdisk-cli-1  Created                                                                                                                                                      0.1s
Attaching to ramdisk-cli-1
ramdisk-cli-1  | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ramdisk-cli-1  | HOSTNAME=53828dcd3646
ramdisk-cli-1  | árvíztűrő-TÜKÖRFÚRÓGÉP=ÁRVÍZTŰRŐ-tükörfúrógép
ramdisk-cli-1  | HOME=/root
ramdisk-cli-1 exited with code 0

docker-compose.yml (env_file):

services:
  cli:
    image: ubuntu
    env_file:
      - env.test.txt
    command: env

env.test.txt:

árvíztűrő-TÜKÖRFÚRÓGÉP=ÁRVÍZTŰRŐ-tükörfúrógép

output:

$ docker-compose up
unexpected character "¡" in variable name near "árvíztűrő-TÜKÖRFÚRÓGÉP=ÁRVÍZTŰRŐ-tükörfúrógép\n"

nevergone avatar Jun 24 '22 12:06 nevergone