• まつみん

Docker 操作編(docker-compose)


docker-compose
docker-compose

こんにちは、サイト管理者のまつみんです。


弊社のクラウドサービスの運用とアプリケーションの開発で毎日お世話になっているコンテナ技術なのですが、仮想化技術(Hypervisor)がそうであったようにコンテナ技術(k8s)も身近な存在になると思うので、参考になればと思います。


本日は、便利なDocker-composeについて解説したいと思います。


Docker-composeとは?


一般的にアプリケーション環境は複雑であり、単体のサーバーやサービスで完結しないと思います。実際は複数のサービスが起動していて、データベース連携しているはずです。開発を進めるためには同様の環境が必要になりますが、その環境を用意するのに数日から数時間も浪費したくないと思います。Docker-composeならその課題を解決することができます。


コマンド1行で開発環境を展開して使う・消す(Dev-ops)を好きなだけ繰り返すことができます。わかりやすい方がいいと思うので、Wordpress+mysqlを展開してみたいとおもいます。Docker環境は既にある前提で進めます。


1. docker-compose.yml (YAML)の作成

$mkdir wp
$cd wp
$vi docker-compose.yml
$

2. ymlの中身 (mysql + wordpressを展開します)

それぞれの環境により若干修正が必要ですので参考レベルでお願いします。


version: '3'

services:
 db:
  image: mysql:5.6
  volumes:
   - db_data:/var/lib/mysql
  restart: always
  environment:
   MYSQL_ROOT_PASSWORD: root
   MYSQL_DATABASE: wordpress
   MYSQL_USER: wordpress
   MYSQL_PASSWORD: wordpress
 wordpress:
  image: wordpress:latest
  depends_on:
   - db
  ports:
   - "8080:80"
  restart: always
  volumes:
   - ./wp-content:/var/www/html/wp-content
  environment:
   WORDPRESS_DB_HOST: db:3306
   WORDPRESS_DB_USER: wordpress
   WORDPRESS_DB_PASSWORD: wordpress
   WORDPRESS_DB_NAME: wordpress
volumes:
 db_data:
 

3. YAMLをDockerに読み込ませてwp+mysql環境を展開してみましょう。

$cd wp
$docker-compose up -d
$

4. コンテナの確認

wpとmysqlが起動しています。

$docker ps
CONTAINER ID IMAGE  COMMAND CREATED  STATUS PORTS NAMES
6ffec6355ce2 wordpress:latest "docker-entrypoint.s…"  10 seconds ago Up 9 seconds  0.0.0.0:8080->80/tcp  test_wordpress_1
57612241500e mysql:5.6  "docker-entrypoint.s…"  10 seconds ago Up 9 seconds  3306/tcp  test_db_1

5. wpへのアクセス

それでは、https://localhost:8080でアクセスしてみましょう。



WP環境が展開されました。


6.Composeの(停止・再起動・削除)

$docker-compose stop  (停止)
$docker-compose restart (再起動)
$docker-compose down (削除)

まとめ


 IIJ America Incでは、クラウドサービスの提供からお客様のシステム運用のお手伝いをいたします。クラウド導入やシステム更新・移行プロジェクトなどのご相談も承っております。無料相談のご予約は Sales@iij-america.com またはこちらのWebフォームまでお問い合わせください。


15回の閲覧

最新記事

すべて表示