私はDockerを学ぼうとしています。Windows10 Pro コンピューターに Docker Desktop をインストールしました。
Docker を使用して、PHP と MySQL の Web サイトを立ち上げて実行することから始めました。
私のdocker-compose.ymlは次のようになります
version: "3.8"
services:
www:
build: .
ports:
- "80:80"
volumes:
- ./www:/var/www/html
links:
- db
networks:
- default
db:
image: mysql:8.0
ports:
- "3306:3306"
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_DATABASE: myDb
MYSQL_USER: user
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: test
volumes:
- ./dump:/docker-entrypoint-initdb.d
- ./conf:/etc/mysql/conf.d
- persistent:/var/lib/mysql
networks:
- default
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- db:db
ports:
- 8000:80
environment:
MYSQL_USER: user
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: test
volumes:
persistent:
そして DockerFile は次のようになります
FROM php:7.3-apache
RUN docker-php-ext-install mysqli
RUN apt-get update \
&& apt-get install -y libzip-dev \
&& apt-get install -y wget \
&& apt-get install -y zlib1g-dev \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-install zip
index.phpを含むwwwフォルダーがあります。
私が走るとき
docker-compose up -d
PHP、mySQL サイトを正常に稼働させており、index.php にアクセスして期待どおりの結果を得ることができます。
ここまでは順調ですね。
ここで、Dockerfile を変更して php フォーラム Web サイト (phpbb) をセットアップしたいので、Dockerfile を次のように更新しました。
FROM php:7.3-apache
RUN docker-php-ext-install mysqli
RUN apt-get update \
&& apt-get install -y libzip-dev \
&& apt-get install -y wget \
&& apt-get install -y zlib1g-dev \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-install zip
WORKDIR /var/www/html
RUN wget https://download.phpbb.com/pub/release/3.3/3.3.0/phpBB-3.3.0.tar.bz2 \
&& tar -xvjf phpBB-3.3.0.tar.bz2
&& ls -l
私が走るとき
docker-compose build --no-cache
予想される結果を確認できます。つまり、「ls」コマンドは、予想されるすべての phpBB ファイルを /var/www/html に表示します。
ただし、実行すると
docker-compose up -d
私のコンテナには /var/www/html ( www フォルダのindex.php ) にindex.phpしかありません。phpBB ファイルはありません。
私は何を間違っていますか?