Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20190823_DockerMeetupKansai__4.pdf
Search
nezumisannn
August 23, 2019
Technology
1
460
20190823_DockerMeetupKansai__4.pdf
nezumisannn
August 23, 2019
Tweet
Share
More Decks by nezumisannn
See All by nezumisannn
20241204_ビヨンド勉強会_44_AWS_Service_Catalogを利用したIaCのテンプレート化とTerraformによるデプロイ.pdf
nezumisannn
0
200
20240828_ビヨンド勉強会_42_EKS_on_FargateでWebサービスを公開するために覚えておきたいこと.pdf
nezumisannn
0
77
20240530_ビヨンド勉強会#41_ビヨンドのエンジニア新卒研修における取り組み
nezumisannn
0
97
20230511_AWSにおけるコンテナサービスの選択とIaC実装例.pdf
nezumisannn
0
1.2k
リーダーになって1年経過して_取り組んできたことと大事にしている考え方_の裏側_.pdf
nezumisannn
0
62
20211118_GKEにおける高負荷時のPodとWorker_Nodeの挙動について.pdf
nezumisannn
0
130
20211014_Alibaba_Cloud_Container_Service_for_KubernetesにおけるServerless_Kubernetesの概要とManaged_Kubernetesとの違い.pdf
nezumisannn
0
72
20211008_ApsaraDB_for_PolarDBとAWS_Auroraの機能比較.pdf
nezumisannn
1
120
20210122_AlibabaCloudパートナーサミット_Terraform_Cloudを活用するマルチクラウドオートメーション.pdf
nezumisannn
0
54
Other Decks in Technology
See All in Technology
雑に疎通確認だけしたい...せや!CloudShell使ったろ!
alchemy1115
0
210
Cursorをチョッパヤインタビューライターにチューニングする方法 / how to tuning cursor for interview write
shuzon
2
120
Kaigi Effect 2025 #rubykaigi2025_after
sue445
0
110
Datadog のトライアルを成功に導く技術 / Techniques for a successful Datadog trial
nulabinc
PRO
0
130
Next.jsと状態管理のプラクティス
uhyo
3
1.3k
CARTA HOLDINGS エンジニア向け 採用ピッチ資料 / CARTA-GUIDE-for-Engineers
carta_engineering
0
27k
Новые мапы в Go. Вова Марунин, Clatch, МТС
lamodatech
0
2k
Aspire をカスタマイズしよう & Aspire 9.2
nenonaninu
0
380
社会人力と研究力ー博士号をキャリアの武器にするー
kentaro
2
110
20 Years of Domain-Driven Design: What I’ve Learned About DDD
ewolff
1
310
Асинхронная коммуникация в Go: от понятного к душному. Дима Некрасов, Otello, 2ГИС
lamodatech
0
2.1k
Why Platform Engineering? - マルチプロダクト・少人数 SRE の壁を越える挑戦 -
nulabinc
PRO
4
380
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
A Modern Web Designer's Workflow
chriscoyier
693
190k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.5k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Building Applications with DynamoDB
mza
94
6.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
The World Runs on Bad Software
bkeepers
PRO
68
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
GraphQLとの向き合い方2022年版
quramy
46
14k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Transcript
PackerでぱかっとDockerイメージを ビルドする Docker Meetup Kansai #4 寺岡 佑樹
はじめに ・LTなので気軽にお聞きくださいー ・本資料は後程公開します ・資料公開したらTwitterでハッシュタグ付きでつぶやきます
自己紹介 resource “my_profile” “nezumisannn” { name = “Yuki.Teraoka” nickname =
“ねずみさん家。” company = “beyond” job = “Site Reliability Engineer” twitter = “@yktr_sre” skills = [“terraform”,”packer”] }
Packerとは
Packerとは ・マシンイメージの自動生成と管理を行うツール ・HashiCorpが開発、Golangで記述されている
Packerで出来ること
Packerで出来ること ・Dockerイメージを含めた各種マシンイメージの自動生成 ・マシンイメージの構成をテンプレートとしてJsonで記述できる ・その他、AWSのAMIやVMwareにも対応
やってみよう
やってみよう ・dockerイメージをビルドしてElastic Container RegistryにPushする ・Packer用テンプレートの作成 ・テンプレートを指定してコマンドラインからPackerを実行
テンプレートの作成 { "variables" : { -> variables setting here },
"builders": [ -> builders settting here ], "provisioners" : [ -> provisioners setting here ], "post-processors" : [ -> post-processors setting here ] }
テンプレートの作成 ・variables ・テンプレートで利用する変数を指定 ・builders ・ビルドするイメージのタイプを指定 ・provisioners ・イメージに対してのプロビジョニング(Ansibleが利用できる) ・post-processors ・ビルドした結果から新しいアーティファクトを作成
variables "variables": { "ecr_registry_url": "XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com", "ecr_repository": "XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/example-repo" "ecr_login_password": "{{env `ECR_LOGIN_PASSWORD`}}"
},
builders "builders": [ { "type": "docker", "image": "alpine:latest", "commit": true,
} ],
provisioners "provisioners": [ { "type": "ansible", "user": "root", "playbook_file": "./ansible/operation.yml"
} ],
post-processors "post-processors": [ [ { "type": "docker-tag", "repository": "{{user `ecr_repository`}}",
"tag": "latest" }, { "type": "docker-push", "ecr_login": true, "login_username": "AWS" "login_password": "{{user `ecr_login_password`}}" "login_server": "{{user `ecr_registry_url`}}" } ] ]
実行 ・コマンドラインからPackerを実行する ・packer build /path/to/template.json
まとめ ・DockerイメージのビルドはPackerを利用しよう ・皆様のdocker利用のお役に立てれば幸いです
END