docker / dev-environments

63 stars 32 forks source link

[BUG] Docker Dev Containers pull from git Host ENV variables fail #142

Open SkippyHub opened 1 year ago

SkippyHub commented 1 year ago

Description

When pulling from a github repo to create a dev container, using the docker app Host ENV variables pass through fails. With a compose-dev.yaml file in root does not pass the host environment variables.

Steps To Reproduce

On the host before docker dev pull enter into bash/terminal/cmd:

export MYSQL_DATABASE="database"
export MYSQL_ROOT_PASSWORD: "password"

docker create new dev environment and pull a github with "compose-dev.yaml" in the root, compose-dev.yaml:

version: '3.8'

services:
  mysql:
    image: mysql:8.0
    volumes:
      - mysql-data:/var/lib/mysql
    environment:
      MYSQL_DATABASE: ${MYSQL_DATABASE_FAILS}
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD_FAILS}
      TEST_ENV:PASSES
    ports:
      - 3306:3306

volumes:
  mysql-data:

Inspect the container or run 'printenv' to view empty container ENV variables besides the hard coded TEST_ENV

% printenv
MYSQL_DATABASE: 
MYSQL_ROOT_PASSWORD: 
TEST_ENV:PASSES

Compose Version

Docker Compose version v2.17.3

Docker Environment

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.10.4
    Path:     /Users/skippy/.docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.17.3
    Path:     /Users/skippy/.docker/cli-plugins/docker-compose
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.0
    Path:     /Users/skippy/.docker/cli-plugins/docker-dev
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.19
    Path:     /Users/skippy/.docker/cli-plugins/docker-extension
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v0.1.0-beta.4
    Path:     /Users/skippy/.docker/cli-plugins/docker-init
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     /Users/skippy/.docker/cli-plugins/docker-sbom
  scan: Docker Scan (Docker Inc.)
    Version:  v0.26.0
    Path:     /Users/skippy/.docker/cli-plugins/docker-scan
  scout: Command line tool for Docker Scout (Docker Inc.)
    Version:  v0.10.0
    Path:     /Users/skippy/.docker/cli-plugins/docker-scout

Server:
 Containers: 25
  Running: 8
  Paused: 0
  Stopped: 17
 Images: 31
 Server Version: 23.0.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 2806fc1057397dbaeefbea0e4e17bddfbd388f38
 runc version: v1.1.5-0-gf19387a
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 5.15.49-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: aarch64
 CPUs: 5
 Total Memory: 7.667GiB
 Name: docker-desktop
 ID: ommited
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Registry: https://index.docker.io/v1/
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  127.0.0.0/8

Anything else?

I may have messed up steps to reproduce as it was from a private repo which I snipped down, but it should work related to the mysql server