本文正在参加「金石计划 . 瓜分6万现金大奖」
本文环境 docker20.10,tomcat10.1,Mysql8.0 不懂的可以评论或联系我邮箱:owen@owenzhang.com 著作权归OwenZhang所有。商业转载请联系OwenZhang获得授权,非商业转载请注明出处。
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
https://www.docker.com/products/docker-desktop/
docker pull nginx
docker pull mysql
docker pull php
docker pull redis
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v d:\workspace\etc\mysql\conf:/etc/mysql/conf.d -v d:\workspace\etc\mysql\logs:/logs -v d:\workspace\etc\mysql\data:/var/lib/mysql -d mysql:8.0
对应得建本地目录
进入容器
docker exec -it mysql /bin/sh
本地d:\workspace\etc\mysql\logs目录新建一个文件 对应docker容器中就有映射关系
docker run --name php80 -p 9000:9000 -v d:\workspace\www:/var/www/html -v d:\workspace\log\php:/var/log/php --link mysql:8.0 -d php:8.0-fpm
d:\workspace\www d:\workspace\log\php
进入容器
docker exec -it php80 /bin/sh
cd /
安装压缩扩展
apt-get update
apt-get install git
apt-get install vim
apt-get install wget
apt-get install --yes zip unzip
apt-get install -y pkg-config libmemcached-dev autoconf gcc make zlib1g zlib1g-dev vim
安装composer
cd /tmp
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
composer -V
PHP扩展文件目录 /usr/src/php/ext/
pecl install https://pecl.php.net/get/memcache-8.0.tgz
docker-php-ext-enable memcache
pecl install https://pecl.php.net/get/mongodb-1.14.2.tgz
docker-php-ext-enable mongodb
pecl install https://pecl.php.net/get/event-3.0.8.tgz
docker-php-ext-enable event
pecl install https://pecl.php.net/get/redis-5.3.7.tgz
docker-php-ext-enable redis
docker-php-ext-install pdo_mysql
docker-php-ext-install mysqli
你可以在 PHP 官网上下载 memcache PHP 驱动包,下载地址:https://pecl.php.net/package/memcache
退出容器
exit;
重启容器
docker restart php80
进入容器
docker exec -it php80 /bin/sh
查看已安装扩展
php-m
docker run --name redis -p 6379:6379 -d redis:latest
docker run --name nginx -p 80:80 -p 443:443 -v d:\workspace\www:/var/www/html -v d:\workspace\etc\nginx:/etc/nginx/nginx/ -v d:\workspace\log\nginx:/var/log/nginx --link php80:8.0-fpm --link redis:latest --link mysql:8.0 -d nginx:latest
进入容器
docker exec -it nginx /bin/sh
安装vim
apt-get update
apt-get install vim
修改配置default.conf文件
vim /etc/nginx/conf.d/default.conf
location ~ \.php$ {
root /var/www/html; #php容器的目录,不是nginx
fastcgi_pass php80:9000;#php容器名
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
- 重启容器
docker restart nginx
- 刷新http://127.0.0.1/index.php
- 修改index.php文件
<?php
$link = mysqli_connect('mysql', 'root', 'root');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>
https://blog.csdn.net/qq_35141640/article/details/112541009 https://blog.csdn.net/william_n/article/details/116465149
觉得对你有帮助,就给我打赏吧,谢谢!
微信赞赏码链接,点击跳转:
https://www.owenzhang.com/wechat_reward.png
本文正在参加「金石计划 . 瓜分6万现金大奖」