SlideShare a Scribd company logo
1 of 15
オンプレでPrivate Registry使った
Dockerイメージの運用について
Docker Kansai #3
やっさん
@yassan168
オンプレのDockerイメージ運用
Webhook Trigger
Status API
Deployment API
docker push
ぷるりくえすと
Auth &
Registry
Service
Portusについて
OpenSUSEが開発するOSS。
Docker Registryの認証とフロントエンド機能を持つ。
Portus以外では、CNCFホストの vmware の Harbor が有名です。
また、最近ではP2Pを使ってスケーラブルにイメージを配信出来る
CNCFホストの Alibaba の Dragonfly や Uber の Kraken があります。
Portusの構成について
CVE
データベース
脆弱性情報を同期
Portus
(Web UI)
Nginx
(Proxy)
PostgreSQL
Portus
(Background)
Web UI
Registry
Service
User/Team/Namespace
/Image一覧/etcの更新
Image一覧の同期
脆弱性スキャン
脆弱性
情報の取得
JenkinsでGitHubのOrganizationを監視する
右図の様に
itemにOrganization名を入
れ、
「GitHub Organization」
を選択する
※「Pull Request Builder
Plugin」を利用している
Organization名を記入
JenkinsでGitHubのOrganizationを監視する
APIエンドポイントや
クレデンシャルを選択。
OKボタン押下すると初回のス
キャンが実行される。
これ以降は、Jenkinsfileがあれば
実行の対象となる。
CircleCIでも良いじゃん?
オンプレで執事のお世話をする事で以下のメリットが得られる(強がり)
• CircleCIで対応していない BuildKitが使える!
• すぐにビルドを実行出来る!待たない!
• リソースの許す限り、好きなだけコンテナ増やし放題
BuildKitと言えば、、KubeConEUでNTTの須田さんから発表ありましたね
Container Build縛り会とか面白そう。。。
Dockerfile
FROM openjdk:8-jdk
:
ARG GIT_REVISION=unknown
ARG GIT_ORIGIN=unknown
ARG IMAGE_NAME=unknown
LABEL git-revision=$GIT_REVISION 
git-origin=$GIT_ORIGIN 
image-name=$IMAGE_NAME
Dockerイメージの情報を付加
トレース用にLABELを用意し、
ARGを使って環境変数で差し替え
出来るようにする。
Makefile
NAME := hoge
REVISION := $(shell git rev-parse --short HEAD)
ORIGIN := $(shell git remote get-url origin | sed -e 's/^.*@//g')
TAGS := $(REVISION)
RELEASE_TAGS := 0.1.1 prod $(REVISION)
REGISTRY := registry.yassan.local
USER := yassan
.PHONY: revision
revision:
@echo $(REVISION)
.PHONY: test
test:
@python -m unittest test/test_config.py
@python -m unittest test/validate_config.py
.PHONY: test-with-docker
test-with-docker:
@docker run 
-w /tmp/test 
-v `pwd`:/tmp/test $(REGISTRY)/$(USER)/$(NAME):$(REVISION) 
make test
.PHONY: build
build:
@docker build 
--build-arg GIT_REVISION=$(REVISION) 
--build-arg GIT_ORIGIN=$(ORIGIN) 
--build-arg IMAGE_NAME=$(REGISTRY)/$(USER)/$(NAME) 
$(addprefix -t $(REGISTRY)/$(USER)/$(NAME):,$(TAGS)) .
.PHONY: push
push:
@for TAG in $(TAGS); do
docker push $(REGISTRY)/$(USER)/$(NAME):$$TAG; 
done
.PHONY: release
release:
@make build TAGS="$(RELEASE_TAGS)"
@make push TAGS="$(RELEASE_TAGS)"
Makefile
NAME := hoge
REVISION := $(shell git rev-parse --short HEAD)
ORIGIN := $(shell git remote get-url origin | sed -e 's/^.*@//g')
TAGS := $(REVISION)
RELEASE_TAGS := 0.1.1 prod $(REVISION)
REGISTRY := registry.yassan.local
USER := yassan
.PHONY: revision
revision:
@echo $(REVISION)
.PHONY: test
test:
@python -m unittest test/test_config.py
@python -m unittest test/validate_config.py
.PHONY: test-with-docker
test-with-docker:
@docker run 
-w /tmp/test 
-v `pwd`:/tmp/test $(REGISTRY)/$(USER)/$(NAME):$(REVISION) 
make test
.PHONY: build
build:
@docker build 
--build-arg GIT_REVISION=$(REVISION) 
--build-arg GIT_ORIGIN=$(ORIGIN) 
--build-arg IMAGE_NAME=$(REGISTRY)/$(USER)/$(NAME) 
$(addprefix -t $(REGISTRY)/$(USER)/$(NAME):,$(TAGS)) .
.PHONY: push
push:
@for TAG in $(TAGS); do
docker push $(REGISTRY)/$(USER)/$(NAME):$$TAG; 
done
.PHONY: release
release:
@make build TAGS="$(RELEASE_TAGS)"
@make push TAGS="$(RELEASE_TAGS)"
REVISIONとORIGINはコマンドで取得。
取得したものをdocker build時に埋め込む
Makefile
NAME := hoge
REVISION := $(shell git rev-parse --short HEAD)
ORIGIN := $(shell git remote get-url origin | sed -e 's/^.*@//g')
TAGS := $(REVISION)
RELEASE_TAGS := 0.1.1 prod $(REVISION)
REGISTRY := registry.yassan.local
USER := yassan
.PHONY: revision
revision:
@echo $(REVISION)
.PHONY: test
test:
@python -m unittest test/test_config.py
@python -m unittest test/validate_config.py
.PHONY: test-with-docker
test-with-docker:
@docker run 
-w /tmp/test 
-v `pwd`:/tmp/test $(REGISTRY)/$(USER)/$(NAME):$(REVISION) 
make test
.PHONY: build
build:
@docker build 
--build-arg GIT_REVISION=$(REVISION) 
--build-arg GIT_ORIGIN=$(ORIGIN) 
--build-arg IMAGE_NAME=$(REGISTRY)/$(USER)/$(NAME) 
$(addprefix -t $(REGISTRY)/$(USER)/$(NAME):,$(TAGS)) .
.PHONY: push
push:
@for TAG in $(TAGS); do
docker push $(REGISTRY)/$(USER)/$(NAME):$$TAG; 
done
.PHONY: release
release:
@make build TAGS="$(RELEASE_TAGS)"
@make push TAGS="$(RELEASE_TAGS)"
TAGSに空白区切りで記述して、
イメージタグを複数付けている
Jenkinsfile
pipeline {
agent any
stages {
stage('Test build') {
steps {
sh 'make build'
sh 'make push'
}
}
stage('Test') {
steps {
sh 'make test-with-docker'
}
}
stage('Docker release') {
when {
branch 'master'
}
steps {
sh 'make release'
}
Makefileだけでdocker buildやpushが
出来るので、Jenkinsfileが非常に簡単
になる。
また、Makefileで構成しているので、
他のCIツールなどへの移行も楽にな
る。
今日の発表について
オンプレのDockerイメージの運用についてご紹介
• DockerレジストリにOpenSUSEのPortus
• GitHubとJenkinsの連携(PR運用)
• Jenkins Build PipelineでDockerイメージのビルドを自動化
• ビルドの自動化の際の工夫:Makefileによるビルドの簡略化
おまけ
参考情報
• Portus Official Docker image
• dockerをbuildする際のMakefile - Qiita
• Pull Request Builder PluginをJenkinsに導入する - Qiita
• JenkinsとGitHubを使ったCI実践ガイド | GitHub Resources
• [KubeConEU] Building images efficiently and securely on Kubernetes with
BuildKit
• Blue Ocean
• coreos/clair
• Clairで、Dockerイメージの脆弱性スキャンを試す - CLOVER🍀
• Harbor
• Dragonfly
• uber/kraken
• 複数のDockerイメージを単一リポジトリで管理する - Qiita

More Related Content

What's hot

Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Amazon Cognito使って認証したい?それならSpring Security使いましょう!Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Ryosuke Uchitate
 
第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介
ksk_ha
 

What's hot (20)

KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web ServiceアプリケーションAngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
 
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラPostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
 
Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Amazon Cognito使って認証したい?それならSpring Security使いましょう!Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Amazon Cognito使って認証したい?それならSpring Security使いましょう!
 
Spring Cloud Data Flow の紹介 #streamctjp
Spring Cloud Data Flow の紹介  #streamctjpSpring Cloud Data Flow の紹介  #streamctjp
Spring Cloud Data Flow の紹介 #streamctjp
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
 
第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介
 
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
 
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
セキュリティを強化しよう!CloudArmorの機能解説
セキュリティを強化しよう!CloudArmorの機能解説セキュリティを強化しよう!CloudArmorの機能解説
セキュリティを強化しよう!CloudArmorの機能解説
 
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
 

Similar to オンプレでPrivate Registry使ったDockerイメージの運用について

Rails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2editionRails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2edition
Satomi Tsujita
 
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
linzhixing
 
20150101勉強会 dokku alt
20150101勉強会 dokku alt20150101勉強会 dokku alt
20150101勉強会 dokku alt
Shugo Numano
 
Docker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレDocker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレ
peryaudo
 

Similar to オンプレでPrivate Registry使ったDockerイメージの運用について (20)

Docker実践入門
Docker実践入門Docker実践入門
Docker実践入門
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
 
Dockerハンズオン
DockerハンズオンDockerハンズオン
Dockerハンズオン
 
Rails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2editionRails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2edition
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 
GitLab + Dokku で作る CI/CD 環境
GitLab + Dokku で作る CI/CD 環境GitLab + Dokku で作る CI/CD 環境
GitLab + Dokku で作る CI/CD 環境
 
Fig
FigFig
Fig
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
 
Dockerの導入
Dockerの導入Dockerの導入
Dockerの導入
 
Sinatra and heroku for mac
Sinatra and heroku for macSinatra and heroku for mac
Sinatra and heroku for mac
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
 
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
 
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
 
start Heroku
start Herokustart Heroku
start Heroku
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
20150101勉強会 dokku alt
20150101勉強会 dokku alt20150101勉強会 dokku alt
20150101勉強会 dokku alt
 
Docker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレDocker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレ
 

More from YASUKAZU NAGATOMI

Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
YASUKAZU NAGATOMI
 

More from YASUKAZU NAGATOMI (18)

コンテナ化から始めてKubernetesクラスタ管理にRancherを使うまで〜前編〜
コンテナ化から始めてKubernetesクラスタ管理にRancherを使うまで〜前編〜コンテナ化から始めてKubernetesクラスタ管理にRancherを使うまで〜前編〜
コンテナ化から始めてKubernetesクラスタ管理にRancherを使うまで〜前編〜
 
RancherとGitOps的な話
RancherとGitOps的な話RancherとGitOps的な話
RancherとGitOps的な話
 
Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみる
Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみるCloud Native をやっていくにはどう学んでいくかをみんなで考えてみる
Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみる
 
コンテナイメージの脆弱性スキャンについて
コンテナイメージの脆弱性スキャンについてコンテナイメージの脆弱性スキャンについて
コンテナイメージの脆弱性スキャンについて
 
オンプレ Rancher Server × ML基盤 をはじめます
オンプレ Rancher Server × ML基盤 をはじめますオンプレ Rancher Server × ML基盤 をはじめます
オンプレ Rancher Server × ML基盤 をはじめます
 
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
 
ざっくり始めるCloud Native開発
ざっくり始めるCloud Native開発ざっくり始めるCloud Native開発
ざっくり始めるCloud Native開発
 
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
 
データ分析基盤として Rancher・k8s で始まるのか調査してみた
データ分析基盤として Rancher・k8s で始まるのか調査してみたデータ分析基盤として Rancher・k8s で始まるのか調査してみた
データ分析基盤として Rancher・k8s で始まるのか調査してみた
 
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~
続Rancherで始めるRedmine生活~Redmineのプライベートカタログを作ってみた~
 
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~
Rancherで始めるRedmine生活 ~ Redmineのプライベートカタログを作ってみた~
 
redashのプラベートカタログ作成してつまづいたアレやコレや
redashのプラベートカタログ作成してつまづいたアレやコレやredashのプラベートカタログ作成してつまづいたアレやコレや
redashのプラベートカタログ作成してつまづいたアレやコレや
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
 
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
 
PM Beginners #06 : MTGの理想と現実
PM Beginners #06 : MTGの理想と現実PM Beginners #06 : MTGの理想と現実
PM Beginners #06 : MTGの理想と現実
 
プロジェクトマネジメントと開発を両立したい!
プロジェクトマネジメントと開発を両立したい!プロジェクトマネジメントと開発を両立したい!
プロジェクトマネジメントと開発を両立したい!
 
PM Beginners #3:メンバの考えていること、共有できてます?
PM Beginners #3:メンバの考えていること、共有できてます?PM Beginners #3:メンバの考えていること、共有できてます?
PM Beginners #3:メンバの考えていること、共有できてます?
 
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
 

Recently uploaded

Recently uploaded (10)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

オンプレでPrivate Registry使ったDockerイメージの運用について