Skip to content

[BUG] Environ settings ignored by upstream docker service #317

Open

Description

@benfiedler

My setup

Formula version: latest master

Versions reports (master & minion)

Salt Version:
Salt: 3004.1

Pillar / config used

docker:
  pkg: 
    docker:
      daemon_config:
        insecure-registries:
          - my.repo.local:5000
      environ:
        - HTTP_PROXY=http://my.proxy.local:3128/
        - HTTPS_PROXY=http://my.proxy.local:3128/
        - NO_PROXY="localhost,127.0.0.1,.local"
      use_upstream:
        repo
  wanted:
    - docker

Bug details

Describe the bug

Hi,

I have recently switched over to using this formula, and it seems to work great except for one thing:

In my testing across recent *nixes (Debian-11 / Ubuntu-20.04 / CentOS Stream-8), the environ_file is unutilized by upstream packages and ignored by the docker systemd service.

Steps to reproduce the bug

salt 'mydockerminion01' state.apply docker.software
salt 'mydockerminion01' cmd.run "docker pull nginx:latest"

mydockerminion01:
    Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 52.200.78.26:443: connect: connection refused

Expected behaviour

Docker should be pulling images using the proxy

Attempts to fix the bug

I have come up with a simple fix to the formula which if an environ is defined on *nix, opts to create a drop-in docker.service.d/override.conf using states.ini_manage which is simply:

[Service]
EnvironmentFile = {{ environ_file }}

Detected changes to the dropin file will do a systemctl daemon-reload and also restart the service.
I also fixed service.running to enforce changes to the environ file by restarting the docker service.

My fork with fixes:
benfiedler@b131392

Additional context

Activity

  1. voileux commented on Jan 30, 2023

    @voileux

    could you make a PR with your modification ?

    Thank's in advance

  2. benfiedler commented on Feb 12, 2023

    @benfiedler
    Author

    it's created - my apologies, this is my first PR

  3. benfiedler commented on Sep 5, 2024

    @benfiedler
    Author

    In my previous PR the commit message did not meet standards. This one does -
    #330

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions