最新文章
标签云
网站统计
- 观海听潮•博客
- 81篇
- 151条
- 299191次
- 105次
- 美国弗吉尼亚州
您现在的位置是:首页 > 技术杂谈 > docker > php php
1、配置阿里云镜像
登录阿里云后台,容器镜像服务-->镜像中心-->镜像加速器
打开docker面板Settings部分更改
2、拉取镜像
php
docker pull php:7.4-fpm-alpine3.12
mysql
docker pull mysql:latest
nginx
docker pull nginx:latest
小注:具体镜像版本可以登录https://hub.docker.com/搜索
3、在本地新建目录
我的是在D盘新建wnmp目录,在该目录下新建
D:\wnmp\mysql8.0\conf D:\wnmp\mysql8.0\log D:\wnmp\nginx\conf D:\wnmp\nginx\log D:\wnmp\php74\conf D:\wnmp\php74\log D:\wnmp\www
4、运行容器且映射到本地
1)、mysql
运行容器,将3306端口映射到33061上面,初始密码:123456
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:latest
小注:因为本地3306端口被占用,除非关掉自启动的mysql服务,所以这边映射成其他端口
复制mysql文件到本地
docker cp mysql:/var/log/mysql D:\wnmp\mysql8.0\log docker cp mysql:/etc/mysql D:\wnmp\mysql8.0\conf
小注:/var/log/mysql如果不存在,可以忽略这条命令
删除之前的mysql容器,必须先停止才能删除
docker stop mysql docker rm mysql
重新运行映射到本地的容器,将3306端口映射到33061上面,初始密码:123456
docker run -d -v :\wnmp\mysql-8.0\log:/var/log/mysql/ -v D:\wnmp\mysql8.0\conf:/etc/mysql/ -p 33061:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:latest
检验是否运行成功
docker ps
如果没有,则运行失败,需要删除运行失败的容器,然后自行解决问题
查看所有的容器
docker container ls -all
进入容器
docker exec -it mysql /bin/bash
mysql初始化命令
mysql_secure_installation
参考文档:https://blog.csdn.net/u013931660/article/details/79443061
登录mysql
mysql -u root -p
更改加密方式(mysql8新特性)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
也可以创建一个新用户
CREATE USER 'docker'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; GRANT ALL PRIVILEGES ON *.* TO 'docker'@'%';
刷新
flush privileges; exit;
安装VIM编辑器
apt update apt-get install vim
尝试连接
关闭mysql服务,例如phpstudy
主机:localhost
端口:映射的端口号 33061
用户名:root或者新创建的用户docker
密码:123456
2)、php
运行容器
docker run -d -v D:\wnmp\www:/var/www/html -p 9000:9000 --link mysql --name php74 php:7.4-fpm-alpine3.12
复制php文件到本地
docker cp php74:/usr/local/etc D:\wnmp\php74\conf docker cp php74:/usr/local/var/log D:\wnmp\php74\log docker cp php74:/var/www/html D:\wnmp\www
删除php容器
docker stop php74 docker rm php74
重新运行映射到本地的php容器
docker run -d -v D:\wnmp\php74\conf:/usr/local/etc -v D:\wnmp\php74\log:/usr/local/var/log -v D:\wnmp\www:/var/www -p 9000:9000 --link mysql:mysql --name php74 php:7.4-fpm-alpine3.12
进入容器
docker exec -it php74 sh
安装VIM编辑器
apt update apt-get install vim
3)、nginx
运行容器
docker run -d -p 80:80 --link php74:phpfpm --name nginx nginx:latest
复制nginx文件到本地
docker cp nginx:/etc/nginx/ D:\wnmp\nginx\conf docker cp nginx:/var/log/nginx/ D:\wnmp\nginx\log
删除nginx容器
docker stop nginx docker rm nginx
重新运行映射到本地的nginx容器
docker run -d -p 80:80 -v D:\wnmp\www:/var/www -v D:\wnmp\nginx\conf:/etc/nginx/ -v D:\wnmp\nginx\log:/var/log/nginx/ --link php74:phpfpm --name nginx nginx
5、本地连接
更改配置文件D:\wnmp\nginx\conf\conf.d\default.conf
server { listen 80; server_name localhost; root /var/www/; index index.html index.php index.htm; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { autoindex on; } location ~ \.php$ { fastcgi_pass 172.17.0.1: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; # try_files $uri = 404; } # location ~ /\.(ht|svn|git) { # deny all; # } }
小注:fastcgi_pass 的ip地址为容器的ip地址,一般都是这个地址
在D:\wnmp\www目录下新建index.php文件
<? php phpinfo();
在浏览器访问localhost
6、安装php扩展
暂定。。。。
下一篇:公众号基本配置
文章评论

评论列表