0

ここで説明されているように、ubuntu 16.04 で docker プライベート レジストリをセットアップする方法

私はこのように変更/etc/hostsしました:

192.168.1.154 registry-server
192.168.1.90 registry-client

次に、レジストリ イメージをプルしました。

docker pull registry

次に、証明書ファイルを作成しました

mkdir /etc/certs
cd /etc/certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt

ca.crtクライアントホストのこれらのパスにコピーしました:

/etc/certs/
/etc/docker/certs.d/registry-server:5000/

次に、サーバー ホストでコンテナーを実行しました。

docker run -d -p 5000:5000 --restart=always --name registry -v /etc/certs:/etc/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/etc/certs/ca.crt -e REGISTRY_HTTP_TLS_KEY=/etc/certs/ca.key registry

画像にタグをつけました

docker tag phpmyadmin/phpmyadmin:latest registry-server:5000/pma-test

registry-server:5000/pma-testしかし、画像をサーバーにプッシュしたい場合:

docker push registry-server:5000/pma-test:latest

次のエラーが発生します。

デーモンからのエラー応答: open /etc/docker/certs.d/registry-server:5000: 権限が拒否されました

======================================

アップデート:

を実行journalctl -xeしたところ、次のエラーが見つかりました。

9 月 30 日 13:58:37 docker.dockerd[926]: time="2019-09-30T13:58:37.229097561Z" level=debug msg="Calling GET /_ping"

Sep 30 13:58:37 docker.dockerd[926]: time="2019-09-30T13:58:37.238248010Z" level=debug msg="Calling POST /v1.38/images/registry-server:5000/pma -test/push?tag="

9 月 30 日 13:58:37 docker.dockerd[926]: time="2019-09-30T13:58:37.238670117Z" level=debug msg="hostDir: /etc/docker/certs.d/registry-server:5000 "

Sep 30 13:58:37 docker.dockerd[926]: time="2019-09-30T13:58:37.238797277Z" level=debug msg="FIXME: エラーが予想されるタイプと一致しない API を取得しました!! !: /etc/docker/certs.d/registry-server:5000 を開く: 許可が拒否されました" error_type="*os.PathError" module=api

Sep 30 13:58:37 docker.dockerd[926]: time="2019-09-30T13:58:37.238831133Z" level=error msg="POST のハンドラ /v1.38/images/registry-server:5000/ pma-test/push がエラーを返しました: open /etc/docker/certs.d/registry-server:5000: 権限が拒否されました"

Sep 30 13:58:37 docker.dockerd[926]: time="2019-09-30T13:58:37.238861895Z" level=debug msg="FIXME: エラーが予想されるタイプと一致しない API を取得しました!! !: /etc/docker/certs.d/registry-server:5000 を開く: 許可が拒否されました" error_type="*os.PathError" module=api

9 月 30 日 13:58:37 audit[926]: AVC apparmor="DENIED" operation="open" profile="snap.docker.dockerd" name="/etc/docker/certs.d/registry-server:5000/ " pid=926 comm="dockerd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0

9 月 30 日 13:58:37 カーネル: 監査: type=1400 audit(1569851917.234:53): apparmor="DENIED" operation="open" profile="snap.docker.dockerd" name="/etc/docker/certs. d/registry-server:5000/" pid=926 comm="dockerd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0

なぜこのエラーが発生したのですか?

Docker バージョン 19.03.2、ビルド 6a30dfc

docker-compose バージョン 1.24.0、ビルド 0aa59064

サーバーおよびクライアント ホスト: Ubuntu 18.04

4

1 に答える 1