※ 記事一覧
環境
■ WSLバージョン:
■ Ubuntuバージョン:
■ Dockerバージョン:
WSL バージョン: 2.3.24.0
カーネル バージョン: 5.15.153.1-2
WSLg バージョン: 1.0.65
MSRDC バージョン: 1.2.5620
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.22631.4317
カーネル バージョン: 5.15.153.1-2
WSLg バージョン: 1.0.65
MSRDC バージョン: 1.2.5620
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.22631.4317
■ Ubuntuバージョン:
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble
■ Dockerバージョン:
Version: 27.3.1
はじめに
過去記事「Docker:PHP環境を作る 1」で Windows+Docker Desktop上にPHP環境を作成した。
この記事を参考にWSL Ubuntu上のDocker EngineにPHP環境を作成する。
この記事を参考にWSL Ubuntu上のDocker EngineにPHP環境を作成する。
WSL+Ubuntu+Docker上にPHP環境を作る
■ カスタムネットワーク作成
■ 永続化用フォルダ作成
■ Dockerイメージ取得
■ コンテナ仮起動
■ 設定ファイルコピー
■ コンテナ削除
■ コンテナ起動
■ 仮テスト
■ 空のhtmlを作成してテスト
他コンテナと通信したいので、先にカスタムネットワークを "docker_nw" の名前で作成する。
⇒ 過去記事「WSL #37:Dockerカスタムネットワークを作成する」参照
docker network create --driver bridge docker_nw
⇒ 過去記事「WSL #37:Dockerカスタムネットワークを作成する」参照
■ 永続化用フォルダ作成
設定ファイルやhtmlを置くためのフォルダをUbuntu上に作成する。
・php - PHP設定ファイル用
・apache - Apache設定ファイル用
・html - html格納用
とし、これらはユーザーディレクトリ上に置くことにした。
・php - PHP設定ファイル用
・apache - Apache設定ファイル用
・html - html格納用
とし、これらはユーザーディレクトリ上に置くことにした。
mkdir -p ~/docker/php mkdir -p ~/docker/apache mkdir -p ~/docker/html
■ Dockerイメージ取得
今回はphp8.3を使用する。
sudo docker pull php:8.3-apache
■ コンテナ仮起動
コンテナ上の設定ファイルを抜き出すため、とりあえずコンテナを起動する。
sudo docker run --name php -d php:8.3-apache
■ 設定ファイルコピー
コンテナよりphpとapacheの設定を永続化用フォルダにコピーする。
phpは /usr/local/etc/php/php.ini-development、
apacheは /etc/apache2/apache2.conf および
/etc/apache2/sites-available/000-default.conf をコピーした。
apacheは /etc/apache2/apache2.conf および
/etc/apache2/sites-available/000-default.conf をコピーした。
sudo docker cp php:/usr/local/etc/php/php.ini-development ~/docker/php/ sudo docker cp php:/etc/apache2/apache2.conf ~/docker/apache/ sudo docker cp php:/etc/apache2/sites-available/000-default.conf ~/docker/apache/
■ コンテナ削除
コピーして設定ファイルを使用したいので、仮起動したコンテナを削除し、コンテナを作成し直す。
sudo docker stop php sudo docker rm php
■ コンテナ起動
以下パラメータでコンテナを起動する。
-d | バックグラウンドで起動 |
--name | コンテナ名は "php" とした |
-p | コンテナの80ポートをホストの8081にマッピング (8080はFessで使っているので8081とした) |
-v | 永続化した3つのファイルをコンテナに接続 |
--network | カスタムネットワーク "docker_nw" を使用 |
sudo docker run -d --name php -p 8081:80 \ -v ~/docker/php:/usr/local/etc/php \ -v ~/docker/apache/apache2.conf:/etc/apache2/apche2.conf \ -v ~/docker/apache/000-default.conf:/etc/apache2/site-available/000-default.conf \ -v ~/docker/html:/var/www/html \ --network docker_nw \ php:8.3-apache
■ 仮テスト
■ 空のhtmlを作成してテスト
WSL, WSL2, Windows Subsystem for Linux, Docker Container, PHP, Apache
0 件のコメント:
コメントを投稿