================================================MySQL====================================================================
创建并运行MySQL容器:
docker run
--name mysql
-e MYSQL_ROOT_PASSWORD=root
-p 33267:3306
--privileged=true
-v ~/Web/mysql/data:/var/lib/mysql
-v ~/Web/mysql/conf:/etc/mysql/conf.d
-v ~/Web/mysql/mysql_sock:/var/run/mysqld
--restart=always
-d
mysql:5.7
命令解释:
–name mysql 指定容器名称为 mysql
-e MYSQL_ROOT_PASSWORD=123456 初始化 root 用户的密码为 123456
-p 33267:3306 将容器的 3306 端口映射到主机的 33267 端口
--privileged=true 给容器加上特定权限,否则有可能出现常见容器失败的情况
-v ~/web/mysql/data:/var/lib/mysql 将主机 ~/web/mysql/data 目录挂载到容器的 /var/lib/mysql
-v ~/web/mysql/conf:/etc/mysql/conf.d 将主机 ~/web/mysql/conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf
-v ~/web/mysql/mysql_sock:/var/run/mysqld 将主机 ~/web/mysql/mysql_sock 目录挂载到容器的 /var/run/mysqld (为防止 php 容器无权限读取 mysql 容器的 sock 文件)
-d 后台运行
docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 33267:3306 --privileged=true -v ~/Web/mysql/data:/var/lib/mysql -v ~/Web/mysql/conf:/etc/mysql/conf.d -v ~/Web/mysql/mysql_sock:/var/run/mysqld --restart=always -d mysql:5.7
--restart=on-failure:5 最多重启五次
===============================================PHP========================================================================
创建并运行PHP容器:
docker run
--name php
-p 9000:9000
--privileged=true
-v ~/Web/www/:/var/www/html
-v ~/Web/mysql/mysql_sock/:/var/run/mysqld --link mysql:mysql
--restart=always
-d
php:7.2-fpm
命令解释:
–name php5.4 指定容器的名称为 php5.4
-p 9000:9000 将容器的 9000 端口映射到主机的 9000 端口
-v ~/web/www:/var/www/html 将主机的 ~/web/www 目录挂载到容器的 /var/www/html 目录
-v ~/web/mysql/mysql_sock:/var/run/mysqld 将主机
~/web/mysql/mysql_sock 目录挂载到容器的 /var/run/mysqld (为防止 php 容器无权限读取
mysql 容器的 sock 文件)
–link mysql:mysql 将 mysql 容器的网络并入 php7.2 容器,实现容器间的通信
-d 保持后台运行
查看PHP的扩展
cd /usr/src/php/ext/
安装扩展
docker-php-ext-install [扩展名称]
docker run --name php -p 9000:9000 --privileged=true -v ~/Web/www/:/var/www/html -v ~/Web/mysql/mysql_sock/:/var/run/mysqld --link mysql:mysql --restart=always -d php:7.2-fpm
===================================================nginx=======================================================================
创建并运行Nginx容器:
docker run
--name nginx
-p 80:80
--privileged=true
-v ~/Web/www:/usr/share/nginx/html
-v ~/Web/nginx/conf.d:/etc/nginx/conf.d
--link php:php
--restart=always
-d
nginx
docker run --name nginx -p 80:80 --privileged=true -v ~/Web/www:/usr/share/nginx/html -v ~/Web/nginx/conf.d:/etc/nginx/conf.d --link php:php --restart=always -d nginx
nginx配置文件
server {
listen 80;
server_name www.test.loc;
location / {
root /usr/share/nginx/html/wwwroot/jianyan74rf/web/;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html/wwwroot/jianyan74rf/web/;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
include fastcgi_params;
}
}
Docker搭建开发环境(Nginx+MySQL+PHP)
猜你喜欢
转载自www.cnblogs.com/yulongcode/p/12161450.html
今日推荐
周排行