Docker for Windows 的安装及搭建PHP开发环境,踩坑。

1. 开启Windows10中的Hyper-V

··· 打开控制面板 - 程序和功能 - 启用或关闭Windows功能,勾选Hyper-V,然后点击确定即可,如图:
在这里插入图片描述

2. 修改虚拟硬盘的位置

··· a.启用后,使用搜索框搜索Hyper-V管理器,打开
在这里插入图片描述

··· b. 选择 Hyper-v设置
在这里插入图片描述

··· c.更改虚拟硬盘的的位置
在这里插入图片描述

3. 下载Docker for Windows10

··· a. 下载地址:https://download.docker.com/win/stable/Docker for Windows Installer.exe (下载时,需要注册Docker账户。)
··· b. 双击等待安装完成即可
··· c. Docker启动之后右下角有个Docker图标 -> 右键图标 -> 选择settings打开如下界面
在这里插入图片描述
在这里插入图片描述
··· d. 选择选择Daemon,点击Basic改为Advanced,在下面的输入框中找到registry-mirrors属性,修改国内镜像源。(我用的阿里云Docker国内镜像)
在这里插入图片描述
在这里插入图片描述

最后点击 Apply 等待重启。

4. 使用搜索框,找到Windows PowerShell,以管理员方式运行。

··· a. 尽量使用管理员方式,在搭建过程中涉及到从容器中拷贝文件到宿主机,需要权限,并且以后关于docker中的命令操作都会在PowerShell中完成。(以下不再提示)
在这里插入图片描述
··· b. 使用 docker version 查看docker版本信息,安装完成。
在这里插入图片描述

5. 在win10里面创建目录来存放MySql/PHP/Nginx的配置文件及日志文件和存放项目的www文件(后面将会操作映射到本机的目录)

E:\wnmp\mysql-conf
E:\wnmp\mysql-log
E:\wnmp\nginx-conf
E:\wnmp\nginx-log
E:\wnmp\php71-conf
E:\wnmp\php71-log
E:\wnmp\www\index.php    index.php 可以写入 phpinfo();

6. 下载mysql5.6镜像

··· a. 输入命令: docker pull mysql:5.6 并且等待下载完成。
··· b. 下载完成之后,先简单创建一个mysql容器,因为在上一步中创建的MySql/PHP/Nginx等目录中还没有对应的配置及日志文件。需要我们从容器中先拷贝到宿主机目录里。
··· c. 先创建一个MySql的简单容器,输入命令:
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.6
(具体命令解释,参考docker官方文档)
··· d. 创建成功之后,进入容器中,docker exec -ti mysql /bin/bash (这命令中的mysql是上一句命令中对mysql:5.6进行的重命名)找到对应的配置文件位置和日志文件位置。

在这里插入图片描述
在这里插入图片描述
··· e. 将对应的日志文件及配置文件复制出来
命令1:docker cp mysql:/var/log/mysql E:\wnmp\mysql-log
命令2:docker cp mysql:/etc/mysql E:\wnmp\mysql-conf
因为复制的是整个目录,所以复制出来的地址有点小问题,需要在Win10中调整下。调整如下:
在这里插入图片描述
将mysql-log中的mysql目录里的所有文件复制到mysql-log目录中。也就是所将日志文件的目录深度退一层。
在这里插入图片描述
然后,将mysql-log中的mysql目录删除,已经没用了。
··· f. mysql的配置文件的复制,也同理。全部复制完成之后。我们就需要删除掉这个mysql容器。重新创建带有文件映射的mysql容器。(这里可以使用容器ID,我这里为了方便阅读,换成对应的重命名,也是可以的运行的。)
命令1:docker stop mysql
命令2:docker rm mysql
··· g. 重新创建带有文件映射的mysql容器:(注意:地址映射的时候docker会要求输入宿主机密码,最好设置一个)
命令:docker run -d -v E:\wnmp\mysql-log:/var/log/mysql/ -v E:\wnmp\mysql-conf:/etc/mysql/ -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.6
··· h. 创建完成之后,使用命令进入容器,docker exec -ti mysql /bin/bash
··· i. 这里介绍一个mysql初始化命令,mysql_secure_installation,具体内容参考:
https://blog.csdn.net/u013931660/article/details/79443061
在这里插入图片描述
··· j. 初始化完成之后,执行命令安装VIM编辑器。
命令1:apt update
命令2:apt-get install vim
··· k. mysql容器配置完成,用Navicat验证下是否可以连接。(这里的主机地址要使用宿主机的IP地址,使用ipconfig命令,IPv4后面的就是宿主机的IP)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上mysql镜像及容器的配置全部完成。

7. 下载PHP7.1镜像

··· a. 命令:docker pull php:7.1
··· b. 因为同样要复制PHP的配置文件及日志文件,所以操作方法与mysql相同。复制出来的文件目录深度同样要退一层。
··· c. PHP的配置文件及日志文件目录地址:
配置文件:/usr/local/etc
日志文件:/usr/local/var/log
项目文件:/var/www/html
··· d. 因为PHP有可能要多版本切换,所以这里的PHP容器重命名最好带有版本标识。
全命令:docker run -d -v E:\wnmp\php-conf:/usr/local/etc -v E:\wnmp\php71-log:/usr/local/var/log -v E:\wnmp\www:/var/www/html -p 9000:9000 --link mysql:mysql --name php71 php:7.1-fpm
··· e. 容器创建完成之后,进入容器,docker exec -ti php71 /bin/bash (如果需要VIM,安装方法同mysql)
··· f. 安装PHP的扩展
命令1:docker-php-ext-install pdo_mysql
命令2:docker-php-ext-install mysqli
··· g:查看扩展是否已经安装。php -m

8. 下载Nginx1.10.3

··· a. 命令:docker pull nginx:1.10.3
··· b. 因为同样要复制Nginx的配置文件,所以操作方法与mysql相同。复制出来的文件目录深度要退一层。(这里不建议复制nginx的日志文件,因为即使复制了最后在映射完成之后无法启动nginx容器,最好自己创建一份。)
配置文件:/etc/nginx/
项目文件:/var/www/html
在这里插入图片描述
··· c. Nginx容器全命令:
docker run -d -p 80:80 -v E:\wnmp\www:/var/www/html -v E:\wnmp\nginx-conf:/etc/nginx/ -v E:\wnmp\nginx-log:/var/log/nginx/ --link php71:phpfpm --name nginx nginx:1.10.3
··· d. 容器创建完成之后,如果需要VIM,安装方法同mysql,进入容器,docker exec -ti nginx /bin/bash
··· e. 编辑配置文件,(这里就体现出文件映射的好处了,因为不需要进入容器修改配置文件,直接可在windows中操作。)
在这里插入图片描述
在这里插入图片描述
fastcgi_pass 这里面 ip地址是宿主机的IP地址,同mysql,端口号这里是9000.
修改配置文件后,重载一下,这里有两种方法实现重载,
第一种:进入容器中,执行,/etc/init.d/nginx reload
在这里插入图片描述
第二种:在容器外中直接重启nginx容器,docker restart nginx
··· f. 在windows浏览器中输入localhost,或者127.0.0.1,查看phpinfo的打印结果。
在这里插入图片描述
··· g. 现在,我们测试一下,是否可以连接mysql
在之前的index.php中输入测试代码:(这里的ip地址依然用的是宿主机的IP,否则连接错误。)
在这里插入图片描述

以上。

  • 14
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: 要在Windows操作系统上安装Docker for Windows,你需要按照以下步骤进行操作: 1.首先,确保你的Windows版本符合Docker for Windows的要求。Docker for Windows要求Windows 10专业版、企业版或教育版,并且需要开启Hyper-V虚拟化功能。 2.前往Docker官方网站(https://www.docker.com/products/docker-desktop)下载Docker Desktop for Windows安装程序。 3.下载完成后,双击安装程序并按照指示进行安装安装程序会自动检测你的系统环境,并进行必要的配置。 4.在安装过程中,你可能需要登录你的Docker帐户或注册一个新的帐户。这是为了让你能够通过Docker Hub共享和获取容器镜像。 5.安装完成后,Docker for Windows会自动启动,并在系统任务栏中显示它的图标。你可以通过这个图标来管理和控制Docker的各种功能。 6.为了验证Docker安装成功,你可以打开命令提示符或PowerShell窗口,并运行以下命令:"docker --version"。如果你看到Docker的版本信息,那么说明安装成功。 7.现在,你可以使用Docker for Windows来创建和管理Docker容器了。你可以通过Docker命令行界面(CLI)或Docker Desktop的图形界面来执行各种操作,例如拉取容器镜像、运行容器和管理容器网络等。 总而言之,安装Docker for Windows是一个相对简单的过程,只需下载安装程序并按照指示进行操作即可。安装完成后,你就可以开始利用Docker进行容器化开发和部署了。 ### 回答2: 要在Windows 10上安装Docker,您可以按照以下步骤进行操作: 1. 首先,确保您的计算机符合Docker的要求。您需要运行Windows 10 64位专业版或企业版,且计算机的处理器支持Virtualization Technology(虚拟化技术)。您还需要安装Docker for Windows所需的Hyper-V和容器特性。 2. 在Docker官方网站上下载Docker Desktop for Windows安装程序。您可以通过访问Docker官方网站并导航到“Get Docker”页面来找到该程序。 3. 在下载完成后,打开安装程序,并按照提示进行操作安装Docker安装过程中,您可能需要接受许可协议、选择软件的安装位置等。 4. 安装完成后,您将看到一个Docker的图标出现在您的任务栏中。单击该图标,Docker将启动并运行。 5. 首次启动Docker时,您需要使用您的Docker帐户登录。如果您没有Docker帐户,请在Docker官方网站上创建一个。 6. 在成功登录后,您将看到一个Docker的控制台界面。从这里,您可以管理和运行容器,下载和使用镜像等。 通过按照以上步骤进行操作,您就可以在Windows 10上成功安装并使用Docker。请确保您的计算机满足Docker的要求,并按照安装程序的提示进行操作。安装完成后,您可以根据自己的需求开始使用Docker并享受容器化技术带来的便利。 ### 回答3: 要在Windows安装Docker,首先需要确保你的操作系统是Windows 10的64位版本。进入Docker官方网站(https://www.docker.com/products/docker-desktop),下载适用于WindowsDocker Desktop安装程序。 安装程序下载完成后,双击运行安装程序。在安装过程中,你可以选择自定义安装路径和其他选项。完成安装后,打开Docker Desktop应用程序。 在Docker Desktop应用程序中,你可以看到Docker图标出现在系统托盘中。右键单击图标,选择“Settings”来配置Docker的一些选项。在设置中,可以设置Docker的资源限制、网络设置等。 安装完成后,你可以打开命令提示符或PowerShell并运行docker命令来测试Docker是否正确安装。例如,运行“docker version”命令可以查看Docker的版本信息。 此外,你还可以尝试使用Docker Hub来搜索并下载Docker镜像。Docker Hub是一个容器镜像的注册中心,你可以在其中找到各种镜像并下载到本地使用。 总之,安装Docker for Windows是一个相对简单的过程。确保先检查系统要求,下载并运行安装程序,然后配置和测试Docker安装。这样你就可以开始使用Docker来构建、运行和管理容器了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值