# Permission denied error with Docker Update Module

**URL:** <https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353>\
**Category:** General Discussions\
**Created:** [August 24, 2020, 9:31am UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353 "2020-08-24T09:31:20Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![nishad1092](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nishad1092](https://hub.mender.io/u/nishad1092)\
**Post date:** [August 24, 2020, 9:31am UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/1 "2020-08-24T09:31:20Z")

</div>

Hi @lluiscampos ,

Im using this Module to update a Azure repo,  
I’m getting this unauth error, I have logged into docker and azure creds, But still I get this:

**WARNING: Error loading config file: /home/mender/.docker/config.json: stat /home/mender/.docker/config.json: permission denied**  
**Error response from daemon: Get https:/azurecr.io/manifests/4.1: unauthorized: authentication required, visit [https://aka.ms/acr/authorization](https://aka.ms/acr/authorization) for more information.**

This is how I’m trying to create the release :,  
ARTIFACT\_NAME=“load-update-1.0”  
DEVICE\_TYPE=“cam”  
OUTPUT\_PATH=load-container-update-1.0.mender  
DOCKER\_IMAGES=“[0.azurecr.io/load/local:.1](http://0.azurecr.io/load/local:.1)”  
./docker-artifact-gen -n {ARTIFACT\_NAME} -t {DEVICE\_TYPE} -o {OUTPUT\_PATH} {DOCKER\_IMAGES}

But when I give **sudo ./docker-artifact-gen -n {ARTIFACT\_NAME} -t {DEVICE\_TYPE} -o {OUTPUT\_PATH} {DOCKER\_IMAGES** }, then error goes away, and It starts pulling the image, but at the end I get **“Required flag " f” not set"**

Please tell me, what is that Im doing wrong here

FYI: I’m able to docker pull normally, so why is this giving error

---

<div class="post-metadata">

**Author:** ![lluiscampos](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/lluiscampos/32/112_2.png) [@lluiscampos](https://hub.mender.io/u/lluiscampos)\
**Post date:** [August 24, 2020, 11:34am UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/2 "2020-08-24T11:34:36Z")

</div>

Hello @nishad1092,

Once you are logged in into the Docker Registry (via `docker login`), the script `docker-artifact-gen` should be able to pull the image without requiring `sudo`. Actually, using `sudo` will make the script not to be able to pull the image…

Try to pull manually the image before running the script and post us here your results:

```auto
docker pull 0.azurecr.io/load/local:.1
./docker-artifact-gen -n ${ARTIFACT_NAME} -t ${DEVICE_TYPE} -o ${OUTPUT_PATH} ${DOCKER_IMAGES}

```

Note: All shell variables require a “`$`” symbol!

---

<div class="post-metadata">

**Author:** ![nishad1092](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nishad1092](https://hub.mender.io/u/nishad1092)\
**Post date:** [August 24, 2020, 12:22pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/3 "2020-08-24T12:22:14Z")

</div>

I did pull manually and tried doing the same, but still the error exist:  
@lluiscampos

WARNING: Error loading config file: /home/mender/.docker/config.json: stat /home/mende/.docker/config.json: permission denied  
Error response from daemon: Get [https://0.azurecr.io/v2/ca/local/manifests/0.1:](https://0.azurecr.io/v2/ca/local/manifests/0.1:) unauthorized: authentication required, visit [https://aka.ms/acr/authorization](https://aka.ms/acr/authorization) for more information.

---

<div class="post-metadata">

**Author:** ![lluiscampos](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/lluiscampos/32/112_2.png) [@lluiscampos](https://hub.mender.io/u/lluiscampos)\
**Post date:** [August 24, 2020, 1:18pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/4 "2020-08-24T13:18:47Z")

</div>

@nishad1092 Is that the output from the `docker pull` command or the `./docker-artifact-gen` one?

Also, there is a very suspicious typo there: “stat /home/mende/.docker/config.json” -\> shouldn’t it be `mender` ?

---

<div class="post-metadata">

**Author:** ![lluiscampos](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/lluiscampos/32/112_2.png) [@lluiscampos](https://hub.mender.io/u/lluiscampos)\
**Post date:** [August 24, 2020, 1:20pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/5 "2020-08-24T13:20:49Z")

</div>

@nishad1092 Check that the file exists and that it has the correct permissions with:

```auto
stat /home/mende/.docker/config.json

```

---

<div class="post-metadata">

**Author:** ![nishad1092](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nishad1092](https://hub.mender.io/u/nishad1092)\
**Post date:** [August 24, 2020, 4:12pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/6 "2020-08-24T16:12:46Z")

</div>

Hi @lluiscampos,

It is the output from ./docker-artifact-gen -n {ARTIFACT\_NAME} -t {DEVICE\_TYPE} -o {OUTPUT\_PATH} {DOCKER\_IMAGES}

and the err msg is:  
Error loading config file: /home/mender/.docker/config.json: stat /home/mender/.docker/config.json: permission denied  
Error response from daemon: Get [https://0.azurecr.io/v2/c/local/manifests/4.0.1:](https://0.azurecr.io/v2/c/local/manifests/4.0.1:) unauthorized: authentication required, visit [https://aka.ms/acr/authorization](https://aka.ms/acr/authorization) for more information.

There is a config.json file in that location and also it has a content which mentions:

```
{
        "auths": {
                "0.azurecr.io": {
                        "auth": "xxxxxxxxxxxxxxxxxxxx"
                }
        },
        "HttpHeaders": {
                "User-Agent": "Docker-Client/19.03.6 (linux)"
        }
}

```

And it has root root permission for both user and group

---

<div class="post-metadata">

**Author:** ![nishad1092](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nishad1092](https://hub.mender.io/u/nishad1092)\
**Post date:** [August 24, 2020, 4:14pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/7 "2020-08-24T16:14:26Z")

</div>

I got:

stat: cannot stat ‘/home/mender/.docker/config.json’: Permission denied

It has root permission, Should I change it to mender perm for user and group?

---

<div class="post-metadata">

**Author:** ![mirzak](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/mirzak/32/2056_2.png) [@mirzak](https://hub.mender.io/u/mirzak)\
**Post date:** [August 24, 2020, 4:16pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/8 "2020-08-24T16:16:10Z")

</div>

Change the permissions to what ever user you are running as, e.g you can run:

```
$ id

```

To find this out. The docker commands in the script are run as a regular user as you can see [here](https://github.com/mendersoftware/mender/blob/master/support/modules-artifact-gen/docker-artifact-gen#L111-L112). This is why `sudo ./docker-artifact-gen ...` does not help

---

<div class="post-metadata">

**Author:** ![mirzak](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/mirzak/32/2056_2.png) [@mirzak](https://hub.mender.io/u/mirzak)\
**Post date:** [August 24, 2020, 4:18pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/9 "2020-08-24T16:18:36Z")

</div>

Also it is probably best to update your docker permissions so you do not need sudo (which I think is the root problem),

> **[Post-installation steps for Linux](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)**
>
> This section contains optional procedures for configuring Linux hosts to work better with Docker. Manage Docker as a non-root user The Docker daemon binds to a Unix socket instead of...

---

<div class="post-metadata">

**Author:** ![nishad1092](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nishad1092](https://hub.mender.io/u/nishad1092)\
**Post date:** [August 24, 2020, 4:19pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/10 "2020-08-24T16:19:00Z")

</div>

Hi @mirzak, @lluiscampos  
I changed the permission of that config.json to the current user i use, and I ran

./docker-artifact-gen -n {ARTIFACT\_NAME} -t {DEVICE\_TYPE} -o {OUTPUT\_PATH} {DOCKER\_IMAGES}  
but I got this error this time,

./docker-artifact-gen: line 116: meta-data.json: Permission denied

---

<div class="post-metadata">

**Author:** ![nishad1092](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nishad1092](https://hub.mender.io/u/nishad1092)\
**Post date:** [August 24, 2020, 4:19pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/11 "2020-08-24T16:19:28Z")

</div>

Sure do that… Thanks for the info @mirzak

---

<div class="post-metadata">

**Author:** ![nishad1092](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nishad1092](https://hub.mender.io/u/nishad1092)\
**Post date:** [August 24, 2020, 4:23pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/12 "2020-08-24T16:23:24Z")

</div>

Hi @mirzak,

Thanks for taking this issue as a seperate branch topic.

So this is what I get now. After giving perm to /home/mender/.docker/config.json, the previous error is gone but got this new permission denied.

First time having perm issue while creating a artifact

---

<div class="post-metadata">

**Author:** ![lluiscampos](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/lluiscampos/32/112_2.png) [@lluiscampos](https://hub.mender.io/u/lluiscampos)\
**Post date:** [August 25, 2020, 11:15am UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/13 "2020-08-25T11:15:41Z")

</div>

@nishad1092 Then just remove the old meta-data file with:

```auto
sudo rm meta-data.json 

```

and try again 🙂

---

<div class="post-metadata">

**Author:** ![nishad1092](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nishad1092](https://hub.mender.io/u/nishad1092)\
**Post date:** [August 25, 2020, 1:24pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/14 "2020-08-25T13:24:50Z")

</div>

Hi @lluiscampos,

I did this, and I ran it again,:  
But I got this again:  
4.0.1: Pulling from ca/local  
Digest: sha256:6a095669f2819b3dcafe3f5bfe70f72c9338d3da390  
Status: Image is up to date for [0.azurecr.io/ca/local:4.0.1](http://0.azurecr.io/ca/local:4.0.1)

Required flag " f" not set  
…  
really didnt understand why is this happening?

---

<div class="post-metadata">

**Author:** ![lluiscampos](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/lluiscampos/32/112_2.png) [@lluiscampos](https://hub.mender.io/u/lluiscampos)\
**Post date:** [August 25, 2020, 4:59pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/15 "2020-08-25T16:59:47Z")

</div>

@nishad1092 Can you post the full command and the bash variables that you are using?

---

<div class="post-metadata">

**Author:** ![nishad1092](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nishad1092](https://hub.mender.io/u/nishad1092)\
**Post date:** [August 25, 2020, 5:21pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/16 "2020-08-25T17:21:59Z")

</div>

Hi @lluiscampos  
Sure,

ARTIFACT\_NAME=“cam-update\_1.0”  
DEVICE\_TYPE=“cam\_node”  
OUTPUT\_PATH=“cam-update-1.0.mender”  
DOCKER\_IMAGES=“[0.azurecr.io/cam/local:4.0](http://0.azurecr.io/cam/local:4.0)”  
./docker-artifact-gen -n {ARTIFACT\_NAME} -t {DEVICE\_TYPE} -o {OUTPUT\_PATH} {DOCKER\_IMAGES}

---

<div class="post-metadata">

**Author:** ![lluiscampos](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/lluiscampos/32/112_2.png) [@lluiscampos](https://hub.mender.io/u/lluiscampos)\
**Post date:** [August 25, 2020, 5:55pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/17 "2020-08-25T17:55:46Z")

</div>

@nishad1092 Aren’t you missing the $ symbols?

```auto
ARTIFACT_NAME=“cam-update_1.0”
DEVICE_TYPE=“cam_node”
OUTPUT_PATH=“cam-update-1.0.mender”
DOCKER_IMAGES=“0.azurecr.io/cam/local:4.0”
./docker-artifact-gen -n ${ARTIFACT_NAME} -t ${DEVICE_TYPE} -o ${OUTPUT_PATH} ${DOCKER_IMAGES}

```

---

<div class="post-metadata">

**Author:** ![nishad1092](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nishad1092](https://hub.mender.io/u/nishad1092)\
**Post date:** [August 25, 2020, 6:01pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/18 "2020-08-25T18:01:13Z")

</div>

Hi @lluiscampos,

Sorry, I dont know how that went got away in the previous post, Im giving the and passing the variables:

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/mender/original/1X/3017508a4988471bf15ca5924a59f3e1ae202a6f.png)

---

<div class="post-metadata">

**Author:** ![nishad1092](https://avatars.discourse-cdn.com/v4/letter/n/5fc32e/32.png) [@nishad1092](https://hub.mender.io/u/nishad1092)\
**Post date:** [August 25, 2020, 6:02pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/19 "2020-08-25T18:02:53Z")

</div>

i pasted right into this box, but after saving my reply, the $ vanishes, Sorry for that, I didn’t pay attn. there.

---

<div class="post-metadata">

**Author:** ![lluiscampos](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/lluiscampos/32/112_2.png) [@lluiscampos](https://hub.mender.io/u/lluiscampos)\
**Post date:** [August 25, 2020, 6:48pm UTC](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353/20 "2020-08-25T18:48:14Z")

</div>

@nishad1092 Mmm. Which version of `mender-artifact` are you running? Can you do:

```auto
mender-artifact --version

```

and copy here the output?

[Next page](https://hub.mender.io/t/permission-denied-error-with-docker-update-module/2353.md?page=2)
