# 問題個所

imageをpushするとアクセス拒否される。

```

    # docker images
    REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
    dockercon/test             latest              896f1a3a36b2        44 hours ago        529 MB
    centos                     latest              470671670cac        3 months ago        237 MB
    
    # image push
    docker push dockercon/test:latest
    
```

```

    The push refers to repository [docker.io/dockercon/test]
    c555f2a4fa06: Preparing 
    2bfd1607c09c: Preparing 
    cb764bb74596: Preparing 
    2d03d772d036: Preparing 
    b279b0382422: Preparing 
    55b116366b5f: Waiting 
    5bad68351841: Waiting 
    21335377d997: Waiting 
    1a7b04ce32bf: Waiting 
    88a4c5f6ce87: Waiting 
    8af55873dfab: Waiting 
    0683de282177: Waiting 
    denied: requested access to the resource is denied
    
```

# 期待する動作

  1. Docker Hubにイメージが配置完了となること
  2. 原因を知りたい(必須ではない)
  3. なにが原因かデバッグする方法を知りたい

# やったこと

  * selinuxは無効化している
  * Docker Hubのアカウントは持っている
  * 公開は設定はpublicにしている
  * docker push前にはdocker loginを実施している
  * docker login --username * --passwordも実施している
  * docker login docker.ioも実施している
  * ~/.docker/config.jsonを削除してdocker loginも実施している
  * 別リポジトリを作ってpushしてみたが、アクセス拒否されている
  * リポジトリの共同編集者に自身のアカウントを登録した

# 環境

  * windows 10
  * docker for windows
  * wsl(Windows Subsystem for Linux)

```

    [root@DESKTOP-DF03I65 ~]# docker version
    Client:
     Version:         1.13.1
     API version:     1.26
     Package version: 
     Go version:      go1.10.3
     Git commit:      64e9980/1.13.1
     Built:           Tue Apr 28 14:43:01 2020
     OS/Arch:         linux/amd64
    
    Server:
     Version:         19.03.8
     API version:     1.40 (minimum version 1.12)
     Package version: 
     Go version:      go1.12.17
     Git commit:      afacb8b
     Built:           Wed Mar 11 01:29:16 2020
     OS/Arch:         linux/amd64
     Experimental:    false
    
```
CC BY-SA 4.0
2020-05-03T09:55:09.673
66244
2020-05-05T01:40:53.007
2020-05-03T10:17:22.030
3060
39960
question
docker
Docker Hubにimageをpushするとエラーになる
原因は、namespaceがユーザー名になっているからだと考えられます。`dockercon`はあなたのユーザー名でしょうか？<https://hub.docker.com/u/dockercon>へアクセスする限り、他者の所有物であるような気がします。

docker hubのnamespaceの確認方法は、`docker login`をしたときのユーザー名です。

```

    $ docker login
    
    Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
    Username: [usernname] # ここがあなたのnamespaceになる
    Password:
    Login Succeeded
    
```

例えば、<https://hub.docker.com/_/hello-world>を自分のnamespaceにpushするときは次のようになります。

```

    $ docker pull hello-world
    $ docker tag hello-world [username]/hello-world
    $ docker push [username]/hello-world
    
```

よって、一度ユーザー名を確認してみてください。[docker
pushのドキュメント](https://docs.docker.com/engine/reference/commandline/push/)も合わせて確認してみてください。
CC BY-SA 4.0
2020-05-05T01:40:53.007
66299
2020-05-05T01:40:53.007
7997
66244
answer