win 10 docker-toolsbox php開発環境の構築
5436 ワード
ミラーのダウンロード
共有ファイルの設定
ホスト作成ディレクトリ
vmware設定ファイル共有
図のようにDocker Quickstart Terminaで
Mysqlのインストール
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql57 mysql:5.7
プロファイルのコピー
mysqlを再インストールし、プロファイルを指定します.
データベースの初期化
PHPを取り付ける
プロファイルのコピー
PHPの再インストールとプロファイルの指定
Ngixn
インストール
プロファイルのコピー
プロファイルの再インストールと指定
Redis
PHP拡張実装
redis
テストドメイン名の設定
以上は、すべてのインストール構成およびテストです.もちろん最後にこれらのdockerコンテナを自動起動に追加する必要があります
docker pull mysql:5.7
docker pull php:7.2-fpm
docker pull nginx
docker pull redis:3.2
共有ファイルの設定
ホスト作成ディレクトリ
E:\wnmp\mysql57\conf
E:\wnmp\mysql57\log
E:\wnmp\php72\conf
E:\wnmp\php72\conf
E:\wnmp
ginx\conf
E:\wnmp
ginx\conf
E:\wnmp\www
vmware設定ファイル共有
図のようにDocker Quickstart Terminaで
docker-machine restart default
を実行Mysqlのインストール
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql57 mysql:5.7
プロファイルのコピー
PS C:\Windows\system32> docker cp mysql57:/var/log/mysql E:\wnmp\mysql57\log
PS C:\Windows\system32> docker cp mysql57:/etc/mysql E:\wnmp\mysql57\conf
mysqlを再インストールし、プロファイルを指定します.
PS C:\WINDOWS\system32> docker stop mysql57
mysql57
PS C:\WINDOWS\system32> docker rm mysql57
mysql57
PS C:\WINDOWS\system32> docker run -d -v /wnmp/mysql57/log:/var/log/mysql/ -v /wnmp/mysql57/conf:/etc/mysql/ -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql57 mysql:5.7
データベースの初期化
docker exec -ti mysql57 /bin/bash
mysql_secure_installation
# Mysql
root@d7bd0712bcf8:/# mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.28 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
PHPを取り付ける
PS C:\WINDOWS\system32> docker run -d -v /wnmp/www:/var/www/html -p 9000:9000 --link mysql57:mysql --name php72 php:7.2-fpm
プロファイルのコピー
PS C:\Windows\system32> docker cp php72:/usr/local/etc E:\wnmp\php72\conf
PS C:\Windows\system32> docker cp php72:/usr/local/var/log E:\wnmp\php72\log
PS C:\Windows\system32> docker cp php72:/var/www/html E:\wnmp\www
PHPの再インストールとプロファイルの指定
PS C:\WINDOWS\system32> docker stop php72
php72
PS C:\WINDOWS\system32> docker rm php72
php72
docker run -d -v /wnmp/php72/conf/etc:/usr/local/etc -v /wnmp/php72/log:/usr/local/var/log -v /wnmp/www:/var/www/html -p 9000:9000 --link mysql57:mysql --name php72 php:7.2-fpm
# PHP
PS C:\Windows\system32> docker exec -ti php72 /bin/bash
root@742150f14d8a:/var/www/html# php -v
PHP 7.2.23 (cli) (built: Oct 5 2019 00:31:47) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Ngixn
インストール
PS C:\WINDOWS\system32> docker run -d -p 80:80 --link php72:phpfpm --name nginx nginx:latest
プロファイルのコピー
PS C:\Windows\system32> docker cp nginx:/etc/nginx/ E:\wnmp
ginx\conf
PS C:\Windows\system32> docker cp nginx:/var/log/nginx/ E:\wnmp
ginx\log
プロファイルの再インストールと指定
PS C:\WINDOWS\system32> docker stop nginx
nginx
PS C:\WINDOWS\system32> docker rm nginx
nginx
PS C:\WINDOWS\system32> docker run -d -p 80:80 -v /wnmp/www:/var/www/html -v /wnmp/nginx/conf/nginx:/etc/nginx/ -v /wnmp/nginx/log:/var/log/nginx/ --link php72:phpfpm --name nginx nginx
# http://192.168.99.100/
Redis
docker run -p 6379:6379 -d redis:3.2 redis-server
PHP拡張実装
redis
PS C:\Windows\system32> docker exec -ti php72 /bin/bash
root@742150f14d8a:/var/www/html# pecl install -o -f redis
# , Ini docker redis
E:\wnmp\php72\conf\etc\php\conf.d\docker-php-ext-sodium.ini
# php
テストドメイン名の設定
#E:\wnmp
ginx\conf
ginx\conf.d test.conf
#E:\wnmp\www test 。 index.php phpinfo;
server {
listen 80;
server_name test.com;
#charset koi8-r;
access_log /var/log/nginx/host.access.log main;
location / {
root /var/www/html/test;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /var/www/html/test;
fastcgi_pass 192.168.99.100:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
#nginx 。
# host test.com phpinfo
以上は、すべてのインストール構成およびテストです.もちろん最後にこれらのdockerコンテナを自動起動に追加する必要があります
docker container update --restart=always php72
docker container update --restart=always mysql57
docker container update --restart=always nginx
docker container update --restart=always redis