================================================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; } }
来源:https://www.cnblogs.com/yulongcode/p/12161450.html