1.先下载用的镜像
docker pull php:7-fpm (后面的tag号可在 查询,选择合适的版本,不写则选择最新版本)
docker pull nginx
docker pull mysql
2.准备本地目录和配置
根据个人习惯创建常用目录
/var/www下创建 logs/ mysql/conf.d/ nginx/conf.d/ sites/
在nginx/conf.d/下创建default.conf文件
touch default.confvim default.conf
server { listen 80 default_server; server_name _; root /usr/share/nginx/html; location / { index index.html index.htm index.php; autoindex off; } location ~ \.php(.*)$ { root /var/www/html/; fastcgi_pass 172.17.0.2:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; }}
3.创建php容器
docker run -p 9000:9000 --name myphp \-v /var/www/sites/:/var/www/html/ \--privileged=true \-d php:7-fpm
docker inspect --format='{
{.NetworkSettings.IPAddress}}' myphp执行上面的命令会显示出php容器的ip地址,例如:
172.17.0.2
把ip地址替换掉default.conf中的ip
fastcgi_pass 172.17.0.2:9000;
重启php容器
docker restart myphp
4.创建nginx容器
docker run -p 80:80 --name mynginx \-v /var/www/sites:/usr/share/nginx/html \-v /var/www/nginx/conf.d:/etc/nginx/conf.d \--privileged=true \-d nginx
5.创建mysql容器
docker run \ -d \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123 \ --privileged=true \ --name mymysql mysql
mysql默认密码123
拷一份mysql配置目录到本地
docker cp mymysql:/etc/mysq/conf.d /var/www/mysql/conf.d
docker stop mymysqldocker rm mymysql
docker run \ -d \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123 \ -v /var/www/mysql/conf.d:/etc/mysql/conf.d \ --privileged=true \ --name mymysql mysql
在本地服务器/var/www/sites 下创建index.php
phpinfo();
访问服务器ip,就可以看见信息了,
6.phpmyadmin
下载phpmyadmin
cd /var/www/sites
curl -O
下载完解压 unzip xxxxx.zip
登录到php容器 安装mysql的一些扩展
docker exec -it myphp /bin/bash cd /usr/local/bin ./docker-php-ext-install mysql./docker-php-ext-install mysqli./docker-php-ext-install pdo_mysql exitdocker restart myphp
然后访问
登录
至此,小环境搭成,在根据个人需求改善。
今天刚弄了一下,不足之处还请指出。