#はじめに
今回は、MacPCで
Dockerのバージョン19.03.8を使用しました。
$ docker --version
Docker version 19.03.8, build afacb8b
某動画学習サイトの講義に沿って DockerHubからWhalesayイメージを取得してプログラムを実行しようと 以下のコマンドを入力したところ、エラーメッセージが出力されてしまいした。 どうやらイメージの信頼性に関するエラーのようです。
$ docker run docker/whalesay cowsay Hello!
docker: Error: remote trust data does not exist for docker.io/docker/whalesay: notary.docker.io does not have trust data for docker.io/docker/whalesay.
See 'docker run --help'.
#解決策
原因は、Dockerのセキュリティ機能である
DOCKER_CONTENT_TRUST(DCT)が有効になっている点でした。
これは、作成されたDockerイメージが第三者によって改ざんされていないか等を
検証する機能です。
Whalesayイメージを取得するには、この設定を無効にする必要があります。
そのために、以下のコマンドを入力します。
######【DCTの無効化】
$ export -n DOCKER_CONTENT_TRUST
もしくは
$ export DOCKER_CONTENT_TRUST=0
設定完了後に、Whalesayイメージを取得・プログラム実行すると・・
$ docker run docker/whalesay cowsay Hello!
~~~中略〜〜〜
________
< Hello! >
--------
\
\
\
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
無事にプログラムが実行できました。
なお、今回無効にしたDOCKER_CONTENT_TRUST(DCT)を再度
有効にしたい時は、以下のコマンドを入力しましょう。
######【DCTの有効化】
export DOCKER_CONTENT_TRUST=1