DrupalをDockerで起動してみる

iPride Co., Ltd.
iPride Co., Ltd.iPride Co., Ltd.
DrupalをDockerコンテナで
動かしてみる
発表者K.H
目次
• Dockerについて
• コンテナを起動する際に必要なファイルの解説
• docker-compose.yml
• コンテナを起動してみる
Dockerとは
仮想化技術の1つ
他の仮想化技術としてVM等があるが、VMとの違いを次スライドで説明する。
コンテナと仮想マシンの違い
ハードウェア
ホストOS
(カーネル)
仮想化ソフト
ゲストOS
(カーネル)
ゲストOS
(カーネル)
アプリ アプリ
カーネルを共有しているかどうかの違いのみ
仮想マシン
ハードウェア
ホストOS
(カーネル)
コンテナ管理ソフト
コンテナ コンテナ
アプリ アプリ
コンテナ
ホストマシン ホストマシン
カーネルとは
OSのコアとなるもの
• 仮想マシンでは1台につき1つのカーネルが存在しているため起動に時間がかかる
• 仮想マシンでは完全に環境を分離することができるというメリットも有る
• コンテナではホストOSのカーネルを共有しているため起動が早い
コンテナとは
・プロセスの一つ
ただし、メモリ・CPUなどは仮想的に分離されているためアクセスできない
Dockerで解決できること
• 再現性の確保
• 同じ環境を再現しやすい
• 同じ環境を他の人に移すことができる
• Aでは動くのにBでは動かないということがなくなる
• 構成のコード化(Infrastructure as Code)
• 環境構築の手順を自動化できる
今回作成するもの
•Dockerコンテナ
•Drupal
•mariadb
•ネットワーク
•drupal_network
•Drupal-mariadb間で通信を行うために作成する必要がある
今回作成するもの
host
drupal_network
Drupal mariadb
macなどのホストマシン
作成するもの
コンテナ・ネットワークの作成方法
Dockerコンテナは以下のコマンドを実行することで作成することができる。
# docker container run -d nginx:1.22.1-alpine
$docker container run -d nginx:1.22.1-alpine
この方法ではコンテナやネットワークを1つずつ手動で起動させる必要があり、手
間である。
そのため、今回はdocker-composeを使用してコンテナやネットワークを作成する方
また、ネットワークを作成する場合も別のコマンドを実行する必要がある。
# docker container run -d nginx:1.22.1-alpine
$docker network create drupal_network
Docker Composeとは
Docker Composeとは複数のコンテナを定義し実行するDockerアプリケーションの
ためのツール。コマンドを1つ実行するだけで設定内容に基づいたアプリケーショ
ンサービスの生成、起動を行う。
Docker Composeを使用してアプリケーションを管理する場合はdocker-
compose.ymlが必要になる。
docker-compose.ymlについて
今回は以下のdocker-compose.ymlファイルを用意した。
docker-dompose.ymlの解説
•version
•使用する Docker Compose ファイルのバージョンを指定する
•1は2023年6月以降のリリースで使用できなくなる
•現在指定できるものは2もしくは3である
•バージョンによって設定できる値等が異なる
docker-dompose.ymlの解説
•services
•複数のサービスを定義する事ができる
•今回はmariadbとDrupalのサービスを定義する
docker-dompose.ymlの解説
各サービスで定義できる代表的なプロパティとして以下がある。
• image
• build
• ports
• volumes
• environment
• networks
各サービスで定義できるプロパティ
• image
• サービスに使用するDockerイメージを指定する
各サービスで定義できるプロパティ
• build
• サービスで使用するDockerイメージをビルドする
各サービスで定義できるプロパティ
• volumes
• サービスのボリュームマウントを設定する
• Dockerコンテナはコンテナを終了した場合コンテナ内のデータが消えるため、
永続化したいファイルがある場合はボリュームをマウントしてそこにデータを
保存する必要がある。
各サービスで定義できるプロパティ
• ports
• ポートマッピングを指定することができる
• {ホストのポート}:{コンテナのポート}のように記載する
各サービスで定義できるプロパティ
• networks
• サービスが参加するネットワークを指定する
各サービスで定義できるプロパティ
• environment
• コンテナ内で使用する環境変数を設定する
docker-dompose.ymlの解説
• networks
• servicesの外にnetworksセクションを追加することでネットワーク
を作成することができる
• 今回は「drupal-network」を作成している
サービスを起動してみる
以下のコマンドを実行することで以下のものを作成することができる
host
drupal_network
Drupal mariadb
macなどのホストマシン
作成するもの
# docker container run -d nginx:1.22.1-alpine
$docker-compose up -d
補足
今回は以下のようなディレクトリ構成で起動コマンドを実行している。
.
├── Dockerfile.drupal
└── docker-compose.yml
また、Dockerfileについては今回解説しなかったが、サービスを立ち上げる際
には必要となる。
補足
今回は以下のようなDockerfileを使用した
1 de 24

Recomendados

Docker入門 por
Docker入門Docker入門
Docker入門iPride Co., Ltd.
68 visualizações15 slides
Windowsコンテナ入門 por
Windowsコンテナ入門Windowsコンテナ入門
Windowsコンテナ入門Kyohei Mizumoto
2.6K visualizações30 slides
Dockerことはじめ的なはなし por
Dockerことはじめ的なはなしDockerことはじめ的なはなし
Dockerことはじめ的なはなしpinmarch_t Tada
627 visualizações15 slides
Dockerでらくらく開発・運用を体感しよう por
Dockerでらくらく開発・運用を体感しようDockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようTakashi Makino
3.2K visualizações27 slides
Docker 入門 por
Docker 入門Docker 入門
Docker 入門itatyo
37 visualizações14 slides
コンテナ未経験新人が学ぶコンテナ技術入門 por
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
140.4K visualizações89 slides

Mais conteúdo relacionado

Similar a DrupalをDockerで起動してみる

20210730_コンテナの管理ツールについて.pptx por
20210730_コンテナの管理ツールについて.pptx20210730_コンテナの管理ツールについて.pptx
20210730_コンテナの管理ツールについて.pptxKatsushi21
6 visualizações9 slides
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014 por
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Masahiro Nagano
32.9K visualizações128 slides
コンテナ on Windows por
コンテナ on Windowsコンテナ on Windows
コンテナ on WindowsTsubasa Nomura
238 visualizações18 slides
Docker Swarm モード にゅうもん por
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもんMasahito Zembutsu
7.1K visualizações36 slides
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編 por
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編Masahito Zembutsu
4.6K visualizações76 slides
コンテナの基本 ~Docker実践~ por
コンテナの基本 ~Docker実践~コンテナの基本 ~Docker実践~
コンテナの基本 ~Docker実践~Ryosuke Uchiyama
103 visualizações41 slides

Similar a DrupalをDockerで起動してみる(20)

20210730_コンテナの管理ツールについて.pptx por Katsushi21
20210730_コンテナの管理ツールについて.pptx20210730_コンテナの管理ツールについて.pptx
20210730_コンテナの管理ツールについて.pptx
Katsushi216 visualizações
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014 por Masahiro Nagano
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano32.9K visualizações
コンテナ on Windows por Tsubasa Nomura
コンテナ on Windowsコンテナ on Windows
コンテナ on Windows
Tsubasa Nomura238 visualizações
Docker Swarm モード にゅうもん por Masahito Zembutsu
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
Masahito Zembutsu7.1K visualizações
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編 por Masahito Zembutsu
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Masahito Zembutsu4.6K visualizações
コンテナの基本 ~Docker実践~ por Ryosuke Uchiyama
コンテナの基本 ~Docker実践~コンテナの基本 ~Docker実践~
コンテナの基本 ~Docker実践~
Ryosuke Uchiyama103 visualizações
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー por Yosuke INOUE
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ーWeb系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Yosuke INOUE65 visualizações
捕鯨!詳解docker por 雄哉 吉田
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田21.7K visualizações
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~ por Masaomi Kudo
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
Masaomi Kudo29.5K visualizações
Docker for Windows & Web Apps for Containers 実践活用技法 por Microsoft Corporation
Docker for Windows & Web Apps for Containers 実践活用技法Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法
Microsoft Corporation4.4K visualizações
コンテナって何? por Hiroyuki Numao
コンテナって何?コンテナって何?
コンテナって何?
Hiroyuki Numao272 visualizações
Docker, Kubernetes and OpenShift v3 por Emma Haruka Iwao
Docker, Kubernetes and OpenShift v3Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3
Emma Haruka Iwao5K visualizações
鯨物語~Dockerコンテナとオーケストレーションの理解 por Masahito Zembutsu
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解
Masahito Zembutsu20.4K visualizações
アプリ屋のための Docker入門 por 小川 昌吾
アプリ屋のための Docker入門アプリ屋のための Docker入門
アプリ屋のための Docker入門
小川 昌吾422 visualizações
社内勉強会(Docker) por Shinya Sasaki
社内勉強会(Docker)社内勉強会(Docker)
社内勉強会(Docker)
Shinya Sasaki806 visualizações
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~ por decode2016
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
decode2016182 visualizações
Dockerの仕組みとIIJ社内での利用例 por maebashi
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
maebashi18K visualizações
15分で分か(った気になれ)るDocker por Masahiro NAKAYAMA
15分で分か(った気になれ)るDocker15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker
Masahiro NAKAYAMA31.3K visualizações
はじめてのDockerパーフェクトガイド(2017年版) por Hiroshi Hayakawa
はじめてのDockerパーフェクトガイド(2017年版)はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)
Hiroshi Hayakawa3.2K visualizações
Docker入門 por Shun Tsunoda
Docker入門Docker入門
Docker入門
Shun Tsunoda817 visualizações

Mais de iPride Co., Ltd.

画像生成AIの問題点 por
画像生成AIの問題点画像生成AIの問題点
画像生成AIの問題点iPride Co., Ltd.
138 visualizações9 slides
AI入門 por
AI入門AI入門
AI入門iPride Co., Ltd.
192 visualizações99 slides
MVCになぞらえて理解するReact por
MVCになぞらえて理解するReactMVCになぞらえて理解するReact
MVCになぞらえて理解するReactiPride Co., Ltd.
221 visualizações19 slides
AIについて学んだこと ~ 生成AIとは? ~ por
AIについて学んだこと ~ 生成AIとは? ~AIについて学んだこと ~ 生成AIとは? ~
AIについて学んだこと ~ 生成AIとは? ~iPride Co., Ltd.
85 visualizações32 slides
OAuth2.0について por
OAuth2.0についてOAuth2.0について
OAuth2.0についてiPride Co., Ltd.
33 visualizações18 slides
ゼロトラストについて学んだこと por
ゼロトラストについて学んだことゼロトラストについて学んだこと
ゼロトラストについて学んだことiPride Co., Ltd.
23 visualizações23 slides

Mais de iPride Co., Ltd.(20)

画像生成AIの問題点 por iPride Co., Ltd.
画像生成AIの問題点画像生成AIの問題点
画像生成AIの問題点
iPride Co., Ltd.138 visualizações
AI入門 por iPride Co., Ltd.
AI入門AI入門
AI入門
iPride Co., Ltd.192 visualizações
MVCになぞらえて理解するReact por iPride Co., Ltd.
MVCになぞらえて理解するReactMVCになぞらえて理解するReact
MVCになぞらえて理解するReact
iPride Co., Ltd.221 visualizações
AIについて学んだこと ~ 生成AIとは? ~ por iPride Co., Ltd.
AIについて学んだこと ~ 生成AIとは? ~AIについて学んだこと ~ 生成AIとは? ~
AIについて学んだこと ~ 生成AIとは? ~
iPride Co., Ltd.85 visualizações
OAuth2.0について por iPride Co., Ltd.
OAuth2.0についてOAuth2.0について
OAuth2.0について
iPride Co., Ltd.33 visualizações
ゼロトラストについて学んだこと por iPride Co., Ltd.
ゼロトラストについて学んだことゼロトラストについて学んだこと
ゼロトラストについて学んだこと
iPride Co., Ltd.23 visualizações
Recoilライブラリを 触ってみる por iPride Co., Ltd.
Recoilライブラリを 触ってみるRecoilライブラリを 触ってみる
Recoilライブラリを 触ってみる
iPride Co., Ltd.27 visualizações
ReactでuseEffect()を減らしたい話 por iPride Co., Ltd.
ReactでuseEffect()を減らしたい話ReactでuseEffect()を減らしたい話
ReactでuseEffect()を減らしたい話
iPride Co., Ltd.83 visualizações
AIについて学んだこと ~ AIとは? ~ por iPride Co., Ltd.
AIについて学んだこと ~ AIとは? ~AIについて学んだこと ~ AIとは? ~
AIについて学んだこと ~ AIとは? ~
iPride Co., Ltd.21 visualizações
単一責任の原則について por iPride Co., Ltd.
単一責任の原則について単一責任の原則について
単一責任の原則について
iPride Co., Ltd.24 visualizações
オブジェクト指向 por iPride Co., Ltd.
オブジェクト指向オブジェクト指向
オブジェクト指向
iPride Co., Ltd.21 visualizações
JavaScriptで「キャピタライズ」を 実装してみる por iPride Co., Ltd.
JavaScriptで「キャピタライズ」を 実装してみるJavaScriptで「キャピタライズ」を 実装してみる
JavaScriptで「キャピタライズ」を 実装してみる
iPride Co., Ltd.26 visualizações
Pythonで学ぶ数理計画法の初歩 por iPride Co., Ltd.
Pythonで学ぶ数理計画法の初歩Pythonで学ぶ数理計画法の初歩
Pythonで学ぶ数理計画法の初歩
iPride Co., Ltd.22 visualizações
OIDC(OpenID Connect)について解説③ por iPride Co., Ltd.
OIDC(OpenID Connect)について解説③OIDC(OpenID Connect)について解説③
OIDC(OpenID Connect)について解説③
iPride Co., Ltd.33 visualizações
HTTPの仕組みについて por iPride Co., Ltd.
HTTPの仕組みについてHTTPの仕組みについて
HTTPの仕組みについて
iPride Co., Ltd.29 visualizações
通信プロトコルについて por iPride Co., Ltd.
通信プロトコルについて通信プロトコルについて
通信プロトコルについて
iPride Co., Ltd.16 visualizações
OIDC(OpenID Connect)について解説① por iPride Co., Ltd.
OIDC(OpenID Connect)について解説①OIDC(OpenID Connect)について解説①
OIDC(OpenID Connect)について解説①
iPride Co., Ltd.49 visualizações
SpringBootにおけるテンプレートエンジンの活用 por iPride Co., Ltd.
SpringBootにおけるテンプレートエンジンの活用SpringBootにおけるテンプレートエンジンの活用
SpringBootにおけるテンプレートエンジンの活用
iPride Co., Ltd.174 visualizações
SpringBootの研修本で学んだこと por iPride Co., Ltd.
SpringBootの研修本で学んだことSpringBootの研修本で学んだこと
SpringBootの研修本で学んだこと
iPride Co., Ltd.50 visualizações

Último

光コラボは契約してはいけない por
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
30 visualizações17 slides
IPsec VPNとSSL-VPNの違い por
IPsec VPNとSSL-VPNの違いIPsec VPNとSSL-VPNの違い
IPsec VPNとSSL-VPNの違い富士通クラウドテクノロジーズ株式会社
610 visualizações8 slides
定例会スライド_キャチs 公開用.pdf por
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
154 visualizações64 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 por
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
110 visualizações26 slides
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 por
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PC Cluster Consortium
68 visualizações12 slides
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 por
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PC Cluster Consortium
29 visualizações36 slides

Último(7)

光コラボは契約してはいけない por Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga30 visualizações
定例会スライド_キャチs 公開用.pdf por Keio Robotics Association
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdf
Keio Robotics Association154 visualizações
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 por Hitachi, Ltd. OSS Solution Center.
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 por PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PC Cluster Consortium68 visualizações
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 por PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PC Cluster Consortium29 visualizações
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 por Hitachi, Ltd. OSS Solution Center.
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可

DrupalをDockerで起動してみる