diff --git a/alice-ci/setup.cfg b/alice-ci/setup.cfg
index 20b563dfa5f0455541c3ecb723b034de62d48f2e..cf915bccb5fc3f0f3b19d088417dd0fd57bc4d24 100644
--- a/alice-ci/setup.cfg
+++ b/alice-ci/setup.cfg
@@ -23,6 +23,7 @@ python_requires = >=3.6
 install_requires =
     PyYAML
     virtualenv
+    docker
 
 [options.entry_points]
 console_scripts =
diff --git a/alice-ci/src/alice/runners/dockerrunner.py b/alice-ci/src/alice/runners/dockerrunner.py
index 45a500ce3d0a1c69bada8c337b62edb1540c0136..faf80a0000284da587bd70178e7aa27eb5428050 100644
--- a/alice-ci/src/alice/runners/dockerrunner.py
+++ b/alice-ci/src/alice/runners/dockerrunner.py
@@ -168,6 +168,7 @@ class DockerConfig:
         self.image_provider, self.provider_type = get_provider(config, None, ImageSource.NONE)
         self.tagger = Tagger(config.get("tag", {}))
         self.commands = config.get("commands", [])
+        self.env = config.get("env", {})
 
     def copy(self, job_config={}):
         d = DockerConfig()
@@ -176,6 +177,8 @@ class DockerConfig:
         d.image_provider, d.provider_type = get_provider(job_config, self.image_provider, self.provider_type)
         d.tagger = self.tagger.copy(job_config.get("tag", {}))
         d.commands = self.commands.copy() + job_config.get("commands", [])
+        d.env = self.env.copy()
+        d.env.update(gen_dict(job_config.get("env", [])))
         return d
 
     def __str__(self) -> str:
@@ -205,6 +208,8 @@ class DockerRunner():
         logging.info(f"[DockerRunner] Image: {image.tags} ({image.id})")
 
         if len(job_config.commands) > 0:
+            if "PATH" in job_config.env:
+                del job_config.env["PATH"]
             container = self.client.containers.run(image=image.id,
                                                    entrypoint=["sleep", "infinity"],
                                                    detach=True,
@@ -213,7 +218,8 @@ class DockerRunner():
                 for i in job_config.commands:
                     command = ["/bin/sh", "-c", i]
                     logging.debug(f"[DockerRunner] Command array: {command}")
-                    code, output = container.exec_run(cmd=command)
+                    code, output = container.exec_run(cmd=command,
+                                                      environment=job_config.env)
                     for line in output.decode("UTF-8").splitlines():
                         print(f"[{job_spec['name']}] {line}")
                     if code != 0:
diff --git a/ci-examples/full.yaml b/ci-examples/full.yaml
index b5f086cad0c3f7df8599e1612bb6def7c2467278..a4f24f97d52f40e5a1f7d40422024cade3645e10 100644
--- a/ci-examples/full.yaml
+++ b/ci-examples/full.yaml
@@ -70,10 +70,14 @@ jobs:
         #credentials:
           #username: PASS
           #password: WORD
+    env:
+      - name: VAR
+        value: CHAR
     commands:
       - which python3
       - /usr/bin/python3 --version
       - date
+      - env
     tag:
       publish: true
       name: published name with repo and everything