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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
MiyataAKiyoshi
October 20, 2017
Technology
0
88
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
41
CloudGarageRenewal2018.02
miyataakiyoshi
0
370
CloudGarageRancherMeetupTokyo#10
miyataakiyoshi
0
690
CloudGarageRancherMeetupFukuoka#2
miyataakiyoshi
0
500
CloudGarageRancherMeetupTokyo#9
miyataakiyoshi
0
380
CloudGarageServiceOutline
miyataakiyoshi
0
1.3k
Other Decks in Technology
See All in Technology
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
200
20260204_Midosuji_Tech
takuyay0ne
1
160
AWS Network Firewall Proxyを触ってみた
nagisa53
1
240
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
2
3.1k
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
200
プロポーザルに込める段取り八分
shoheimitani
1
640
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
170
Agent Skils
dip_tech
PRO
0
130
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
220
Red Hat OpenStack Services on OpenShift
tamemiya
0
130
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
94
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
58
50k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
310
Bash Introduction
62gerente
615
210k
From π to Pie charts
rasagy
0
130
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
130
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
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