Dockerローカル倉庫構築
3530 ワード
Dockerローカル倉庫構築
1.ウェアハウスミラーのダウンロード
中央倉庫から最新のregistry倉庫を引き出します.
docker pull registry
2.倉庫フォルダの作成
mkdir -pv /opt/docker/registry
3.倉庫の起動
ポートマッピング:5000ローカルファイルマッピング:
/opt/docker/registry
docker run -d -p 5000:5000 --restart=always -v /opt/docker/registry:/var/lib/registry registry
4.倉庫起動の表示
docker ps
出力は次のように表示されます.
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a7b23b6e8633 registry "/entrypoint.sh /e..." 8 minutes ago Up 6 minutes 0.0.0.0:5000->5000/tcp distracted_jang
アクセス先:
ipはローカル倉庫ipアドレスです.
curl http://192.168.234.97:5000/v2/_catalog
5.テスト
hello-world
ミラーを使用してテストを行い、ローカルtag
を作成します.docker tag hello-world 192.168.234.97:5000/hello
ローカル倉庫にプッシュ
docker push 192.168.234.97:5000/hello
再表示:
curl http://192.168.234.97:5000/v2/_catalog
出力表示、新規倉庫あり.
{"repositories":["hello"]}
6.問題解決
ローカル倉庫にプッシュ
docker push 192.168.234.97:5000/hello
誤報
The push refers to a repository [192.168.234.97:5000/hello]
Get https://192.168.234.97:5000/v1/_ping: http: server gave HTTP response to HTTPS client
原因分析:
クライアントhttpはアクセスできません
ソリューション、プロファイルの作成、構成の変更.この倉庫に使用される機械は、この操作を実行します.
6.1プロファイルの作成
プロファイルの作成
touch /etc/docker/daemon.json
書き込み構成:
echo '{ "insecure-registries":["192.168.234.97:5000"] }' > /etc/docker/daemon.json
dockerを再起動
systemctl restart docker
もう一度ローカル倉庫にプッシュしてみたら、成功しました.
docker push 192.168.234.97:5000/hello
成功した出力は次のとおりです.
The push refers to a repository [192.168.234.97:5000/hello]
428c97da766c: Pushed
latest: digest: sha256:7d6fb7e5e7a74a4309cc436f6d11c29a96cbf27a4a8cb45a50cb0a326dc32fe8 size: 524
ミラーtagの表示
http://192.168.234.97:5000/v2/hello/tags/list