やりたいこと
ArtifactoryのLocal Repositoryでは、Dockerのリポジトリサービスも提供されています。
自前でDocker Registryを構築・運用するのもいいですがクラウドサービスとして利用するのもありですね^^
と、いうことで早速どんなものか利用してみました。
利用の流れ
1. Admin権限で、Localのリポジトリを追加する
Admin権限をもつユーザで、Artifactoryのサイトにログインします。
その後、左のメニューバーから、「Admin > Repositories > Local」と画面遷移します。
ここで、画面の右上にある「New」を押下します。
すると、いくつかの選択肢が出てくるので「Docker」を押下します。
2. Dockerのリポジトリを設定する
次に、Dockerのリポジトリ名称を決定します。
Reposiotry Keyの部分で「hogehoge」などのように、任意のKeyを設定します。
[view-dev]として作成しました。
Save & Finishを押下するとDNSのレコードが登録されます。
3. pullとpushを試してみる
当然ですが、Dockerログインが必要になります。
Admin権限で操作をすることも可能ですし、新しくArtifactory上でユーザを作成して権限設定も可能です。
pullが終わったあとの操作イメージは下記のとおりです。(って何も通常のdocker hubとは変わらないのですが。。)
docker pull triplew-view-dev.jfrog.io/hello-world
Using default tag: latest
latest: Pulling from hello-world
03f4658f8b78: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for triplew-view-dev.jfrog.io/hello-world:latest
wada@wada:~/work/dfree-view-dev$
wada@wada:~/work/dfree-view-dev$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 e78ddcc15639 6 days ago 361.2 MB
wada@wada:~/work/dfree-view-dev$ docker tag e78ddcc15639 triplew-view-dev.jfrog.io/mysql:5.7
The push refers to a repository [triplew-view-dev.jfrog.io/mysql]
5f70bf18a086: Pushed
ea5e7a7f5b95: Pushed
c89cbac62257: Pushed
11d445c7e1cc: Pushed
27bb08dd6a34: Pushing [========> ] 34.43 MB/202.9 MB
e5b947750611: Pushing [==================================================>] 3.584 kB
d8ee7cfe67ce: Pushing [==================================================>] 25.09 kB
a8b4e945292d: Pushing [> ] 342.9 kB/32.87 MB 27bb08dd6a34: Pushing [=========> ] 36.66 MB/202.9 MB
27bb08dd6a34: Pushed
e5b947750611: Pushed
d8ee7cfe67ce: Pushed
a8b4e945292d: Pushed
751c61771d90: Pushed
f0ec4b12764a: Pushed
c12ecfd4861d: Pushed
5.7: digest: sha256:bae5ab8db8c9214e554cee8e5b53c62f9ab06516f58916f88fdae4336c7f4694 size: 3826
所感
- あまりないユースケースかもしれませんが、企業間でイメージ共有する際のサービスとして利用するのもありですね。
- オンプレでこの手のサービスを構築・運用するメリット・デメリットと、クラウドサービスを使うときのそれについては切り分けとディスカッションが必要そうです。
- バグがある場合は、対応はしてもらえなさそうね^^;
- k8sとかecsのregistryとしても使えると思うが念の為動作確認を今度してみよう
本日は以上となります。