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
96
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
47
CloudGarageRenewal2018.02
miyataakiyoshi
0
370
CloudGarageRancherMeetupTokyo#10
miyataakiyoshi
0
700
CloudGarageRancherMeetupFukuoka#2
miyataakiyoshi
0
520
CloudGarageRancherMeetupTokyo#9
miyataakiyoshi
0
390
CloudGarageServiceOutline
miyataakiyoshi
0
1.3k
Other Decks in Technology
See All in Technology
書籍セキュアAPIについて
riiimparm
0
320
複数プロダクト組織のAIネイティブ化における戦略 / AICon2026_kude
rakus_dev
0
310
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
7
820
Power Automateアップデート情報
miyakemito
0
240
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
3
900
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
2
1.1k
AI x 開発生産性を取り巻く予算戦略と投資対効果
i35_267
7
3.2k
複数プロダクトで進めるAI機能実装 ── 実践から得たリアルな学びとロードマップ実現への挑戦 / AICon2026_yanari
rakus_dev
1
280
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
1
770
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
820
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
2
1k
2026年のソフトウェア開発を考える(2026/07版) / Agentic Software Engineering 2026-07 Findy Edition
twada
PRO
28
14k
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Documentation Writing (for coders)
carmenintech
77
5.4k
The Spectacular Lies of Maps
axbom
PRO
1
870
Building AI with AI
inesmontani
PRO
1
1.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Code Review Best Practice
trishagee
74
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