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
97
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CloudGarageConcrete5TokyoMeetup#12
Deploying Docker Container Images to CloudGarage
(Dkcer Hub)
MiyataAKiyoshi
October 20, 2017
More Decks by MiyataAKiyoshi
See All by MiyataAKiyoshi
2018.10#ssmjp-CloudGarageDevAssistProgram
miyataakiyoshi
0
48
CloudGarageRenewal2018.02
miyataakiyoshi
0
370
CloudGarageRancherMeetupTokyo#10
miyataakiyoshi
0
700
CloudGarageRancherMeetupFukuoka#2
miyataakiyoshi
0
530
CloudGarageRancherMeetupTokyo#9
miyataakiyoshi
0
390
CloudGarageServiceOutline
miyataakiyoshi
0
1.3k
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
少人数チームで実現する、大規模AWSサーバーレス基盤における"揺らがない"信頼性運用
maimyyym
1
110
ブラウザ研修 2026
recruitengineers
PRO
6
1.1k
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.6k
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
0
590
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
6.2k
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
180
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
390
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.4k
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
390
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
150
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
480
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
370
How to train your dragon (web standard)
notwaldorf
97
6.8k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.4k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Paper Plane
katiecoart
PRO
2
53k
Typedesign – Prime Four
hannesfritz
42
3.1k
Visualization
eitanlees
152
17k
Amusing Abliteration
ianozsvald
1
250
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
210
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