20200626のdockerに関する記事は12件です。

書籍「テスト駆動開発」をPHPで写経するためのDocker環境構築手順

はじめに

会社でテスト駆動開発の輪読会をやることになり、
あわせて書籍の中に出てくるコード(書籍内ではJavaで記述されている)をPHPで写経して理解を深めようと考えていました。

この勉強会のためだけに、自分のMacにcomposerをインストールするのは嫌だったので、
使い捨てのコンテナでcomposerおよびphpunitを動かす方法を調べました。

同じことを考える人が少なくとも10人くらいはいると思うので、記録に残しておきます。

対象の方

  • 環境構築に時間をかけずに、さっさとPHPで書籍「テスト駆動開発」の写経をはじめたい方

前提条件

  • PHPおよびPHPUnitで写経したい
  • ローカルPCにcomposerをインストールしたくない
  • ローカルPCにDockerをインストール済み

各種バージョン

PHP 7.4.7
PHPUnit 9.2.5
Composer version 1.10.7

手順

ご自身の環境にあわせて、適当なディレクトリを作り、手順を開始してください。

composer.json の作成

docker run --rm -it -v $PWD:/app composer:latest composer init

ls
# composer.json

phpunit のインストール

docker run --rm -it -v $PWD:/app composer:latest composer require --dev phpunit/phpunit

ls
# composer.json composer.lock   vendor

コード用ディレクトリ作成

mkdir src
mkdir test

ls
# composer.json composer.lock   src     test        vendor

composer.json に autoload の記載を追加

vi composer.json

記述例は以下の通りです。

{
    "name": "root/app",
    "require": {},
    "require-dev": {
        "phpunit/phpunit": "^9.2"
    },
    "autoload": {
        "psr-4": { "App\\": "src" }
    }
}

composer dump-autoload の実行

docker run --rm -it -v $PWD:/app composer:latest composer dump-autoload

ls vendor/autoload.php
# autoload.php ファイルが作成されていることを確認する

phpunit.xml の作成

vi phpunit.xml
<?xml version="1.0" encoding="UTF-8" ?>
<phpunit colors="true"
         verbose="true"
         bootstrap="vendor/autoload.php">
    <testsuites>
        <testsuite name="Sample">
            <directory>test</directory>
        </testsuite>
    </testsuites>
</phpunit>

テストコード、テスト対象コードを書く

サンプルコード

phpunit 実行

docker run --rm -it -v $PWD:/app composer:latest vendor/bin/phpunit
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Docker toolbox on windows で Dドライブに移動する

記事を書いた経緯

普段からWindowsを使っている人にとっては何だよそれだったので.
そもそもLinuxに慣れてないというのもあって,
Linuxでのマウント方法をググったり,
d:とかcd /d d:とかやって勝手に苦戦していました.

結論

特別マウント作業などはいらず,これだけ.
最初から割り当てられている

$ cd /d

補足

下記のコマンドでなんのドライブが使えるか確認してください.
データ格納用のドライブがEドライブとかの人もいるので.
(自分は諸事情によりC:\Program Files配下にDocker-Toolboxをインストールしていないので,皆さんと少し表示が違うと思います.)

$ mount
C:/Users/ユーザ名/AppData/Local/Temp on /tmp type ntfs (binary,noacl,posix=0,usertemp)
C:/Users/ユーザ名/AppData/Local/Programs/Git on / type ntfs (binary,noacl,auto)
C:/Users/ユーザ名/AppData/Local/Programs/Git/usr/bin on /bin type ntfs (binary,noacl,auto)
C: on /c type ntfs (binary,noacl,posix=0,user,noumount,auto)
D: on /d type ntfs (binary,noacl,posix=0,user,noumount,auto)
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Macのdocker上に構築したmysqlに、ホストマシンからlocalhost:3306でつながらないよ!

docker上にmysqlイメージをデフォルト(localhost:3306)で構築したのに、ホストマシンのコンソールからつながらないよ!ぴえん!ってなっている人はホスト名を127.0.0.1で試してみてください。

Dockerfile
FROM mysql:8.0

ENV TZ=UTC \
  MYSQL_DATABASE=laravel_local \
  MYSQL_USER=phper \
  MYSQL_PASSWORD=secret \
  MYSQL_ROOT_PASSWORD=secret

COPY ./my.cnf /etc/my.cnf

$ mysql -u phper -psecret

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

こんな風に、何もしてないのにつながらないの!なんで!
それは、 -h オプションを省略しているからです。

つながるよ


$ mysql -u phper -psecret -h 127.0.0.1
mysql> 

つながらないよ


$ mysql -u phper -psecret
> ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)


-h オプションを抜くと、デフォルトでmysql clientはlocalhost:3306を見に行きます。
dockerの127.0.0.1とlocalhostは異なる扱いなので気をつけてね!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

100日後にエンジニアになるキミ - 98日目 - 開発環境 - Docker について4

昨日までのはこちら

100日後にエンジニアになるキミ - 95日目 - 開発環境 - Docker について

100日後にエンジニアになるキミ - 94日目 - 開発環境 - 仮想化について

100日後にエンジニアになるキミ - 91日目 - 運用 - 監視について

100日後にエンジニアになるキミ - 90日目 - 開発 - CIについて

100日後にエンジニアになるキミ - 88日目 - データ - データ転送について

100日後にエンジニアになるキミ - 86日目 - データベース - Hadoopについて

100日後にエンジニアになるキミ - 76日目 - プログラミング - 機械学習について

100日後にエンジニアになるキミ - 70日目 - プログラミング - スクレイピングについて

100日後にエンジニアになるキミ - 66日目 - プログラミング - 自然言語処理について

100日後にエンジニアになるキミ - 63日目 - プログラミング - 確率について1

100日後にエンジニアになるキミ - 59日目 - プログラミング - アルゴリズムについて

100日後にエンジニアになるキミ - 53日目 - Git - Gitについて

100日後にエンジニアになるキミ - 42日目 - クラウド - クラウドサービスについて

100日後にエンジニアになるキミ - 36日目 - データベース - データベースについて

100日後にエンジニアになるキミ - 24日目 - Python - Python言語の基礎1

100日後にエンジニアになるキミ - 18日目 - Javascript - JavaScriptの基礎1

100日後にエンジニアになるキミ - 14日目 - CSS - CSSの基礎1

100日後にエンジニアになるキミ - 6日目 - HTML - HTMLの基礎1

本日はDockerfileについてです。

Dockerfile

Dockerイメージをビルドする方法の手順が含まれるテキストファイルです。
これはバッチスクリプトに似ていて必要なプログラムのインストールや
ファイルのコピーなどの記述が、目的環境になるまで続きます。

Dockerfileはアプリケーションの構成と
必要なリソースの詳細を記載します。

簡単に言うとDockerfileは
・Dockerイメージの設計書
・Dockerfileと言う名称のテキストファイル
です。

ここからはDockerfileの書き方を見ていきましょう。

サンプル

サンプルとしてgetting-startedのイメージ用の
Dockerfileを記載します。

こんな内容のファイルになっています。

# Install the base requirements for the app.
# This stage is to support development.
FROM python:alpine AS base
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt

# Run tests to validate app
FROM node:12-alpine AS app-base
WORKDIR /app
COPY app/package.json app/yarn.lock ./
RUN yarn install
COPY app/spec ./spec
COPY app/src ./src
RUN yarn test

# Clear out the node_modules and create the zip
FROM app-base AS app-zip-creator
RUN rm -rf node_modules && \
    apk add zip && \
    zip -r /app.zip /app

# Dev-ready container - actual files will be mounted in
FROM base AS dev
CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"]

# Do the actual build of the mkdocs site
FROM base AS build
COPY . .
RUN mkdocs build

# Extract the static content from the build
# and use a nginx image to serve the content
FROM nginx:alpine
COPY --from=app-zip-creator /app.zip /usr/share/nginx/html/assets/app.zip
COPY --from=build /app/site /usr/share/nginx/html

ファイルの命名規約

まずデフォルトのファイル名がDockerfileになります。拡張子も無しです。

コンテナの構築手順を記述するdocker-compose.ymlファイルは、
デフォルトのファイル名docker-compose.ymlとなっています。

イメージのビルドコマンドは
docker build -t [イメージ名] -f [ファイル名] .
となっているので名称を変えた際は、ファイル名などを指定して実行できます。

コメント

Dockerfile内のコメントは先頭に「#」をつけます

# コメント
命令 引数    # コメント

基本構文

命令(INSTRUCTION) 引数(arguments)

「命令」は慣例的に大文字で書くようです、小文字でも問題は無いようです。

FROM

生成するイメージの元となるDockerイメージを記述します。
FROM 命令 : ベースイメージ

FROM python:alpine AS base

FROMに指定するものはなるべく小さいイメージが良いようです。
初めのうちはubuntualpineなどが良さそうです。

RUN

ベースイメージに対して、何らかのコマンドを実行するときにはRUNを使用します。
RUN [実行したいコマンド]

RUN pip install -r requirements.txt

dockerはRUNごとにイメージレイヤーと言うものを作っています。
RUN毎にレイヤーが重なっていくのをイメージして貰えば良いかと思います。

そのためRUNをたくさん使用するとDockerイメージが肥大化していくようなので
RUNをなるべく少なくした方が良さそうです。

Dockerのレイヤーを作るのはRUN,COPY,ADDになるようです。
これをうまく調整してやることで、レイヤーの数を抑えることができます。

&&でコマンドを繋いだり、\で改行を入れたりしてRUNが少なくなるようにします。

Linuxでコマンドでインストールを実行するときはインタラクティブなアクションを求められたりします。
そんな時はYesを打ち込めないのでオプション-yを付けて対応します。

RUN apt-get update && RUN apt-get install -y curl

ADD

イメージにホスト上のファイルやディレクトリを追加します。
ADD ホストのファイルパス Dockerイメージのファイルパス

ADD add.txt.gz /tmp

COPY

イメージにホスト上のファイルをコピーします。
COPY ホストのファイルパス Dockerイメージのファイルパス

COPY app/package.json app/yarn.lock ./

CMD

Dockerファイルで生成したイメージから起動したコンテナ内で
コマンドを実行するときに使います。

Dockerfile内では1つだけ記述することができ
複数記述した場合は最後のCMDのみが有効になります。

CMD [実行したいコマンド]

CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"]

Dockerファイルを作ったら、ビルドテストをして
うまくイメージができていたら成功です。

まとめ

Dockerの話はここで終わりです。
Dockerに関してを全て抑えるには誌面が足りません。

ここからはDockerについては、ご自身で少しづつ学習して行ってください。

君がエンジニアになるまであと02日

作者の情報

乙pyのHP:
http://www.otupy.net/

Youtube:
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter:
https://twitter.com/otupython

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

docker on raspberry pi

Introduction

overview

Install

sudo apt-get update && sudo apt-get upgrade
curl -sSL https://get.docker.com | sh

Setting

Create the docker group.
sudo groupadd docker
Add a Non-Root User to the Docker Group
sudo usermod -aG docker [user_name]
sudo usermod -aG docker ${USER}
sudo usermod -aG docker pi
You would need to loog out and log back in so that your group membership is re-evaluated or type the following command:
su -s ${USER}

Verify

docker run hello-world
docker image pull nginx
docker image inspect nginx

Cheat sheet

PDF

Build

Build an image from the Dockerfile in the current directory and tag the image
docker build -t myimage:1.0 .
List all images that are locally stored with the Docker Engine
docker image ls
Delete an image from the local image store
docker image rm alpine:3.4

Run

Run a container from the Alpine version 3.9 image, name the running container “web” and expose port 5000 externally, mapped to port 80 inside the container.
docker container run --name web -p 5000:80 alpine:3.9
Stop a running container through SIGTERM
docker container stop web
Stop a running container through SIGKILL
docker container kill web
List the networks
docker network ls
List the running containers (add --all to include stopped containers)
docker container ls
Delete all running and stopped containers
docker container rm -f $(docker ps -aq)
Print the last 100 lines of a container’s logs
docker container logs --tail 100 web

Share

tutorial

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Dockerの使い方(自分用)

Dockerとは ローカルにサーバーを立てるためのアプリケーション。 インストール方法 公式サイトからパッケージをダウンロードし、インストールする。 使い方 イメージ イメージの一覧を表示する docker images イメージを削除する docker rmi [イメージ名|イメージID] 使用していないイメージを一括削除する docker image prune コンテナ コンテナの一覧を表示する docker ps -a コンテナを起動する docker start [コンテナ名|コンテナID] コンテナを削除する docker rm [コンテナ名|コンテナID] 使用していないコンテナを一括削除する docker container prune コンテナでコマンドを実行する docker exec [コンテナ名|コンテナID] [コマンド] コンテナのシェルに接続する ※ attachはシェルからexitで抜けるとコンテナも落ちてしまうため、exec推奨 --user: ログインするユーザーを選択する docker exec -it --user root [コンテナ名|コンテナID] /bin/bash docker attach [コンテナ名|コンテナID] コンテナ群 コンテナ群を立ち上げる -d: バックグラウンドで起動する docker-compose up -d コンテナ群を落とす docker-compose down 特定のコンテナでコマンドを実行する --rm: 実行のために作成されるコンテナを終了後に削除する docker-compose run --rm {コンテナ名} {コマンド} その他 パイプなどを含むコマンドを実行したい場合 docker-compose run --rm {コンテナ名} sh -c "{コマンド} 単語集 関連サイト [Docker Hub(イメージライブラリ)] https://hub.docker.com/ [Composeファイルの書式] https://docs.docker.com/compose/compose-file/
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Dockerファイルにおける RUN・CMD・ENTRYPOINT の使い分け

DockerファイルでのRUN・CMD・ENTRYPINTは似たような命令です。ですが、これらを使い分けることができると(セキュリティ的にも)大変便利です。

対象

  • Dockerの概要が分かっている人
  • Linuxにおけるシェルの概要が分かっている人

RUN

  • Dockerイメージを作成するときに実行されるコマンド
  • 1つのDokerfileに複数記載が可能

ENTRYPOINT

  • シェルを介さずにコマンドを実行する
  • 1つのDokerfileに1つしか記載できない

CMD

  • コマンドを実行する
  • 1つのDokerfileに1つしか記載できない

ENTRYPOINT + CMD

  • Dockerイメージpushを上手に使うことで、ENTRYPOINTのみのDockerイメージとCMDのみの実行コンテナとに分けることができる
    1. 実行コンテナ作成の際に、ENTRYPOINTのみのDockerイメージをpullする
    2. ENTRYPOINTのみのDockerイメージで指定したコマンドが実行コンテナで実行される
      • 作成されたコンテナの用途を限定できる ― pullされるDockerイメージ側で指定したコマンドしか実行できないため

pullされるDockerイメージ

  • ENTRYPOINTでコマンドを指定する

実行コンテナ

  • CMDENTRYPOINTで指定したコマンドの補完となるよう指定する

下記のdockerfileを基にしたDockerイメージをDockerHubに上げます。

FROM alpine:latest
EXPOSE 80
RUN apk add --no-cache net-tools
RUN apk add --no-cache nmap-nping
ENTRYPOINT ["nping", "-c", "3", "--tcp", "-p", "80"]

ここでは{DockerID}/ping:latestとして上げています。DockerHubに上げる手順は以前の記事を参照してください。

実際に動かすコンテナのdocerfileは以下になります。

FROM {DockerID}/ping:latest
CMD ["www.google.co.jp"]

コンテナを構築し、実行します。

docker image build -t sample/ping:latest .
docker container run -p 80:80 --name ping sample/ping:latest

コンテナ実行結果:

ENTRYPOINT.png

まとめ

Dockerfileの命令は深く踏み込むと少々複雑です。効果的に使い分けてください。

参考

Dockerfile リファレンス

Docker/Kubernetes 実践コンテナ開発入門

[docker] CMD とENTRYPOINT の違いを試してみた

DockerfileのCMDとENTRYPOINTを改めて解説する

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Dockerイメージpush手順

ただ"docker image push ~"とコマンドを打つだけではうまくいきません。Dockerイメージをpushする手順を以下にまとめます。

対象

本などで"docker image push"の概要は知っているが、実践したら失敗した人

手順

以下のDocerfileを例にして説明します。

FROM alpine:latest
EXPOSE 80
RUN apk add --no-cache net-tools
RUN apk add --no-cache nmap-nping
ENTRYPOINT ["nping", "-c", "3", "--tcp", "-p", "80"]
  1. Dockerイメージをbuildする

    docker image build -t sample/ping:latest .
    
  2. 一旦コンテナまで作成し、そのコンテナを元にDockerイメージをcommitする

    docker container run -p 80:80 --name ping  sample/ping:latest www.google.co.jp
    

    コンテナ実行結果:

    push.png

    docker container commit ping {DockerID}/ping:latest
    
  3. DockerHubにログインする

    -p オプションをつけるとパスワードが画面に表示されることになります。-p オプションはコマンド履歴を見ることのできる環境では使わないでください。

    docker login -u {DockerID}
    
  4. Dockerイメージをpushする

    パブリックリポジトリの場合、CLIからpushすると、リポジトリは自動的に作成されます。

    docker image push {DockerID}/ping:latest
    

終わりに

Dockerイメージをpushする手順をまとめました。効率的なコンテナ運用に役立てていただければ幸いです。

参考

Docker コマンド

Docker のインストールからレポジトリへのpush までやってみた【CentOS 7】

Dockerでcommitしてみる

Docker imageのpushに失敗したらログインし忘れが原因かも

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Dockerコンテナとは何か改めて考える

Dockerコンテナについて少し詳しく解説をします。

対象

目的 (Objective)

以下の問題の改善を目的としています。

  • アプリケーションの実行環境が変わると、確実な実行が保証できない
  • 環境構築に時間がかかる

戦略 (What)

以下の戦略をとっています。

  • 複数システムが同居しても競合の問題を起こさない
  • 各システムで独立した実行環境を構築する

戦術 (How)

仮想化によって、上記の戦略を実現しています。

特徴:

  • アプリケーションとOS・ライブラリ・Tool等をワンパッケージで提供する
  • 他の仮想化技術より早い起動を実現する
    • カーネルをホストPCと共有することで、コンテナ実行の度にカーネルを読み込まずに済む
      理由:
      ディストリビューション(CentOS、Ubuntu等)が異なってもカーネルは共通である(Linuxとは本来、カーネル部分だけを指す)。
      そのため、Linux上で動かすのであれば、カーネルをホストPCと共用しても問題ない。
  • 可搬性・冪等性を確保する
    • 可搬性・冪等性を阻害する要因
      • CPUアーキテクチャが異なる
      • カーネルバージョンが異なる
      • ダイナミックリンクライブラリを使用する
  • dockerfile用DSL・DockerHubを用意することで、環境構築の手間を減らす
    • アプリケーションデプロイに特化している
      • 全てのアプリケーションがコンテナ化に向いているわけではない
        コンテナは一旦破棄し、作り直すと、初期状態に戻る。そのため、ステートレスなアプリケーションと相性が良い。反面、ステートフルなアプリケーションは下記のような工夫が必要である。
        • ホストPCとディレクトリを共有
        • 永続化が必要な部分をストレージ用コンテナに分離

コンテナの仕様

OCIにて標準化が進められています。

コンテナ適用例

  • 本番環境
    • 開発環境と本番環境との差異を吸収する
  • 開発メンバ間での開発環境の統一
  • サンプル環境・サンプルコードの配布
    • 実行環境ごと配布することになるので「動かない」可能性を減らせる

終わりに

コンテナの基本事項をまとめ直しました。コンテナ構築の際に役立てていただけたら幸いです。

参考

Docker/Kubernetes 実践コンテナ開発入門

コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤

さわって学ぶクラウドインフラ docker基礎からのコンテナ構築

【初心者向け】Linuxカーネルって一体なんだ?

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

PHPStormからDockerのPHPコンテナでPHPUnitを実行する方法

はじめに

ローカル環境でDockerを利用しているときに、
PHPStormの画面上からPHPUnitを実行できるようにするための
設定方法を紹介します。

大きく2つの設定が必要になります。

  • PHP interpreterを設定
  • PHPUnitのinterpreterを設定

PHP interpreterを設定

・「Settings」->「Languages & Frameworks」->「PHP」->「CLI Intepreter」->「...」をクリック
1.PNG

・左上の「+」->「From Docker, Vagrant, VM, WSL, Remote...]をクリック
2.PNG

・「Docker Compose」のラジオボタンを選択する
→「Configuration file」にdocker-compose.ymlのパスを設定
→「Service」でphp-fpmのコンテナを選択
→「OK」クリック
※「Docker」を選択すると、PHPUnitでDBコンテナを利用する際に接続できないので「Docker Compose」で設定する
2.PNG

PHPUnitのinterpreterを設定

・「Settings」->「Languages & Frameworks」->「PHP」->「Test Frameworks」->左上の「+」->「PHPUnit by Remote Interpreter」をクリック
4.PNG

・先ほど登録したDockerコンテナのInterpreterを選択
3.PNG

・「Path to script」にDockerコンテナのautoload.phpのパスを設定
4.PNG

・「Default configuration file」にphpunit.xmlのパスを設定
5.PNG

・PHPStomのテストクラスファイルを開いて、左にある緑の三角マークをクリックでテスト実行
9.PNG

・テスト結果確認
PHPStormの左下の「Run」タブが表示され、そこにテスト結果が表示されます。
キャプチャ.PNG

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Docker Toolbox 起動エラー対処

Windows 10 Homeにdocker toolboxをインストールする手順にて下記エラーが発生する場合、対処法を示す

Docker インストール

手順は公式を参考 公式

エラー

Toolbox起動後、下記エラーが表示される
looks like something went wrong in step ́looking for vboxmanage.exe ́... press any key to continue

対処法

調べるとToolboxフォルダ内のstart.shでdocker-machine.exeを読み込むパスが主な原因らしい

start.shをデバックする

start.shをvscodeでもメモ帳でもいいから開き、docker-machine.exeのパスを確認する
image.png

次に、start.sh内のDOCKER_MACHINEパスを変更する
image.png

再度Toolboxを起動すると直ります
image.png

忘れがち

virtualBoxをインストールし忘れないように

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Wordpressプラグイン開発のためのDocker Compose

人は不意に、何かを作りたくなる

 というわけで、WordPressプラグインを作りたくなりました。今時なのでDockerで環境構築したいと思います。
 ディレクトリ構成は以下の通りです。

now_directory
|_docker-compose.yml
|_your_plugin_directory/
 |_yourPlugin.php

 既にyourPlugin.phpには https://developer.wordpress.org/plugins/plugin-basics/header-requirements/ にあるヘッダー情報が適当に書き込まれていることとします。

先人の轍を踏め

 http://docs.docker.jp/compose/wordpress.html にとても素晴らしいdocker-compose.ymlがありますので、これをコピってきて以下のように書き換えます。
 とは言っても、wordpressコンテナにvolumesの項目を追加しただけですが。

docker-compose.yml
version: '3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     volumes:
       - ./your_plugin_directory/:/var/www/html/wp-content/plugins/your_plugin_directory/
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

さあ、深淵を覗きこめ

 ここでおもむろに docker-compose up -d --build を実行します。無事にコンテナが立ち上がったら、 http://localhost:8000/ をブラウザで開きましょう。
 いつものセットアップは終わりましたか?終わりましたね。では、wordpressにログインした状態でプラグインを覗きにいきましょう。
 さぁ、あなたのプラグインはそこにあったでしょうか?(あるはずです)

おっと、忘れるところだったぜ

 これは完全にプラグインのみの開発のためのものです。サイト自体も開発したいのならば、他の記事もお調べになる方がいいと思います。
 などと言うものの、私もこれから初めてプラグインを作っていくのでこれでプラグインの開発が完璧なのかと言われるとちょっと自信が無いですが(特にDB回り)。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む