LoginSignup
3
2

More than 5 years have passed since last update.

Docker Swarm上のdocker runで認証付きリポジトリを使う

Posted at

dockerのimageを認証付きのリポジトリに置いている場合、docker swarm上でdocker runをすると、以下のエラーを吐いてdocker pullをしてくれません。これは、docker login quay.ioをしていても同じです。
※今回はquay.ioを例に進めます。

$ docker run quay.io/my/repository
Error response from daemon: Error: Status 403 trying to pull repository my/repository: "{\"error\": \"Permission Denied\"}"

通常のDocker Engine上ではdocker login quay.ioでログインした後、docker run quay.io/my/repositoryをするとimageが手元になければ勝手にdocker pullして引っ張ってきてくれます。

swarm上でdocker pull quay.io/my/repositoryとすれば、pull自体はできるのですが、クラスタ内の全てのマシンでdocker pullが走ってしまいます。

この問題が、swarm:1.1.0では修正されたようです。
https://github.com/docker/swarm/releases

~/.docker/config.jsonX-Registry-Authを書いておく事で、実際にコンテナが作成されるホスト上だけでdocker pullが走るようです。
https://github.com/docker/swarm/blob/master/docs/api/swarm-api.md#registry-authentication

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2