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
CloudGarageConcrete5TokyoMeetup#12
Search
MiyataAKiyoshi
October 20, 2017
Technology
0
75
CloudGarageConcrete5TokyoMeetup#12
Deploying Docker Container Images to CloudGarage
(Dkcer Hub)
MiyataAKiyoshi
October 20, 2017
Tweet
Share
More Decks by MiyataAKiyoshi
See All by MiyataAKiyoshi
2018.10#ssmjp-CloudGarageDevAssistProgram
miyataakiyoshi
0
30
CloudGarageRenewal2018.02
miyataakiyoshi
0
350
CloudGarageRancherMeetupTokyo#10
miyataakiyoshi
0
660
CloudGarageRancherMeetupFukuoka#2
miyataakiyoshi
0
490
CloudGarageRancherMeetupTokyo#9
miyataakiyoshi
0
360
CloudGarageServiceOutline
miyataakiyoshi
0
1.3k
Other Decks in Technology
See All in Technology
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
150
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
1
300
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
150
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
500
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
150
How to do well in consulting–Balkan Ruby 2024
irinanazarova
0
130
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
2
280
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
140
MixIT 2024 - Pulumi : Gérer son infra avec son langage de programmation préféré
ju_hnny5
1
120
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
3
600
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
390
Amplify 🩷 Bedrock 〜生成AI入門〜
minorun365
PRO
8
410
Featured
See All Featured
Designing with Data
zakiwarfel
96
4.8k
Thoughts on Productivity
jonyablonski
59
3.9k
Gamification - CAS2011
davidbonilla
77
4.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
GraphQLの誤解/rethinking-graphql
sonatard
55
9.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
Designing for humans not robots
tammielis
248
25k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
Infographics Made Easy
chrislema
238
18k
Agile that works and the tools we love
rasmusluckow
325
20k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
245
20k
Transcript
Copyright © NHN Techorus Corp. NHNテコラス株式会社 クラウドサービス開発室 宮田 晃佳 Dockerで構築したローカル開発環境から
クラウド環境へのデプロイ(Dcker Hub) Service Site Facebook Twitter https://cloudgarage.jp @CloudGarage.PR @CloudGarage_PR
Page 2 hashtag #CloudGarage ゴール (1) Docker Compose作成 KUSANAGI環境取得 Instance
(4)Local環境で編集 (5)Dockerイメージ作成 (7)サーバーインスタンスを 用意 (9) Docker Compose作成 Docker イメージ取得 (0) Local環境に Dockerインストール Prime Strategy Repository ,etc (2)Dokcer Hub アカウント作成 (3)リポジトリ作成 Your New Repository (6)Dokcerイメージ アップロード (8)サーバーインスタンスに Dockerインストール
Page 3 hashtag #CloudGarage ローカル環境構築
Page 4 hashtag #CloudGarage Dockerインストール https://www.docker.com/docker-mac https://www.docker.com/docker-windows ローカルにDockerを環境構築するには、以下を利用に
Page 5 hashtag #CloudGarage Docker + Concrete5環境構築 https://qiita.com/suin/items/f8d00e869bacf1a65bb4 version: '2'
services: kusanagi-data: container_name: kusanagi-data image: busybox restart: always stdin_open: true tty: true volumes: - /var/lib/mysql - /etc/nginx/conf.d - /etc/httpd/conf.d - /etc/kusanagi.d - /home/kusanagi command: /bin/sh kusanagi-nginx: container_name: kusanagi-nginx image: primestrategy/kusanagi-nginx:1.10.0-1 ~略~ volumes_from: - kusanagi-data ~略~ kusanagi-mariadb: container_name: kusanagi-mariadb image: mariadb:10.0.24 ~略~ volumes_from: - kusanagi-data ~略~ kusanagi-php7: container_name: kusanagi-php7 image: primestrategy/kusanagi-php7:7.0.6-1 ~略~ volumes_from: - kusanagi-data ~略~ docker-compose.yml 赤字は削除 PHPerイベントYYPHP#6の記事を参考に、一部修正 docker-compose.yml ・“ksanagi-data”はDocker管理外の ファイル置き場 ・3つのDocker環境が作成される kusanagi-nginx kusanagi-mariadb kusanagi-php7
Page 6 hashtag #CloudGarage Docker Hub準備
Page 7 hashtag #CloudGarage Docker Hub アカウント作成 Docker Hub(https://hub.docker.com/)にアクセスし、Sign Up作成
メールによる ユーザ認証を忘れずに
Page 8 hashtag #CloudGarage Docker Hub リポジトリ作成 Docker Hub内にリポジトリ作成、ローカル環境に作成したDockerの数だけ Enter
Name :リポジトリの名前 rep-kusanagi-nginx rep-kusanagi-mariadb rep-kusanagi-php7 (後で利用します) Short Description :説明文章(短い) Full Description :説明文章(長い) Visibility :PublicとPrivate Visibility Public :誰でも参照・使用可能 Private :制限した範囲の人が 参照・使用可能 無料利用は1つのみ
Page 9 hashtag #CloudGarage 一覧表示 3つのリポジトリが作成されている [アカウント名]/[リポジトリ名] と表示 今回は、 [アカウント名]/rep-kusanagi-nginx
[アカウント名]/ rep-kusanagi-mariadb [アカウント名]/ rep-kusanagi-php7
Page 10 hashtag #CloudGarage ここまでできたら、 ローカルで遊んでください
Page 11 Docker HubへのPush
Page 12 hashtag #CloudGarage Dockerコンテナをイメージ化 $docker login Username: [設定したユーザ名] Password:
[設定したパスワード] Login Succeeded Dockerにログイン Local環境 $docker commit kusanagi-nginx [アカウント名]/rep-kusanagi-nginx $docker commit kusanagi-mariadb [アカウント名]/rep-kusanagi-mariadb $docker commit kusanagi- php7 [アカウント名]/rep-kusanagi-php7 コンテナをイメージ化 Local環境 $docker push [アカウント名]/rep-kusanagi-nginx $docker push [アカウント名]/rep-kusanagi-mariadb $docker push [アカウント名]/rep-kusanagi-php7 DockerHubへPush
Page 13 サーバーインスタンスの準備
Page 14 サーバーインスタンス Service Site Facebook Twitter https://cloudgarage.jp @CloudGarage.PR @CloudGarage_PR
Page 15 サーバーインスタンスの準備 インスタンス :CPU 3Core メモリ 4GB SSD 150GB
OS :Ubuntu 16.04 64bit 接続許可ポート :22, 8080 インスタンス名 :Instance01 rootパスワード :内緒 インスタンスを作成
Page 16 hashtag #CloudGarage インスタンスで以下のコマンドを実行し、Dockerをインストール Dockerインストール # apt-get update #
apt-get install ¥ apt-transport-https ¥ ca-certificates ¥ curl ¥ software-properties-common # curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # add-apt-repository ¥ "deb [arch=amd64] https://download.docker.com/linux/ubuntu ¥ $(lsb_release -cs) ¥ stable" # apt-get update # apt-get install docker-ce # docker info 【Tips:最新版のDockerがRancherに対応していない?!】 Dockerのインストール時にバージョンを指定してください # apt-get install docker-ce=<VERSION> 参考: https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#install-using-the-repository
Page 17 hashtag #CloudGarage サーバーインスタンスへのデプロイ
Page 18 hashtag #CloudGarage Ymlの修正とサーバーへアップ version: '2' services: kusanagi-mariadb: container_name:
kusanagi-mariadb image: mariadb:10.0.24 →image: [アカウント名]/rep-kusanagi-mariadb environment: MYSQL_ROOT_PASSWORD: my-secret-pw MYSQL_USER: user MYSQL_PASSWORD: password MYSQL_DATABASE: wordpress kusanagi-nginx: container_name: kusanagi-nginx image: primestrategy/kusanagi-nginx:1.10.0-1 →image: [アカウント名]/rep-kusanagi-nginx environment: PROFILE: kusanagi FQDN: kusanagi.example.jp WPLANG: ja BCACHE: "off" FCACHE: "off" links: - kusanagi-php7:php - kusanagi-mariadb:mysql ports: - "80:80" - "443:443" kusanagi-php7: container_name: kusanagi-php7 image: primestrategy/kusanagi-php7:7.0.6-1 →image: [アカウント名]/rep-kusanagi-php7 links: - kusanagi-mariadb:mysql docker-compose.ymlの修正
Page 19 hashtag #CloudGarage サーバーへデプロイ $docker login Username: [設定したユーザ名] Password:
[設定したパスワード] Login Succeeded サーバーでDockerにログイン $docker-compose up -d Ymlを使う
Page 20 hashtag #CloudGarage おまけ
Page 21 hashtag #CloudGarage Docker管理 課題: ネットワークやDockerイメージ作成など、 すべてコマンドで操作が必要 Instance-01 Dockerはひとつのサーバーインスタンスに、複数イメージを搭載できる
解決: 牧場を作る
Page 22 hashtag #CloudGarage Rancher 課題: WebUIによる、Dockerの管理 Instance-01 RancherによるDockerの管理
Page 23 hashtag #CloudGarage Rancherとは https://www.slideshare.net/cyberblackvoom/tryranchercomrancher
Page 24 hashtag #CloudGarage ゴール (1) Docker Compose作成 KUSANAGI環境取得 Instance
(4)Local環境で編集 (5)Dockerイメージ作成 (7)サーバーインスタンスを 用意 (9) Docker Compose作成 Docker イメージ取得 (0) Local環境に Dockerインストール Prime Strategy Repository ,etc (2)Dokcer Hub アカウント作成 (3)リポジトリ作成 Your New Repository (6)Dokcerイメージ アップロード (8)サーバーインスタンスに Dockerインストール
Service Site Facebook Twitter hashtag https://cloudgarage.jp @CloudGarage.PR @CloudGarage_PR #CloudGarage