利用docker快速编排个人开发电脑环境

Publish date: 2019-01-10 18:00:00

由于本人开发场景是win10系统,所以本说明书也是按照win系统来的

首先安装docker环境,这个可以从docker官网下载安装包,https://hub.docker.com/editions/community/docker-ce-desktop-windows, 建议下载稳定版的,免得毛病多

get start docker

克隆纸喵docker-worker-pc-compose项目到D:\docker目录(这里如果要改变目录,须改变项目中的docker-comose.yml文件中的地址),地址:https://gitee.com/zhimiao/docker-worker-pc-compose

这样处理一下,就不存在加密方式问题导致的mysql登陆问题了

clone the compose

这个时候docker大概也安装好了,安装过程可能会重启,托盘区小鲸鱼提示已经start了表明已经正常启动了,右击图标-setting-Shared Drives,映射目录用到了那个盘这里就要分享哪个盘,不然会失败,设置的时候需要验证用户,最好新建一个专用的管理员账户,因为如果改密码了,这里会失效,并且没有任何提示。

setting docker1

开启General-TLS,方便接下来phpstorm能够连接到docker环境:

setting docker2

配置D:/docker/nginx/vhost/default.conf虚拟主机,方便测试

server {
	listen 1301;
	set $app default;
	include docker.server;
}

创建D:/docker/wwwroot/default/i.php,内容如下

<?php
phpinfo();

命令行最好用powerShell(不要用cmd或者ISE),进入D:\docker执行docker-compose up -d

run docker compose

启动完成之后,浏览器访问 http://localhost:1301/i.php

phpinfo

如果后面再次修改了nginx配置,可以通过docker-compose restart nginx来重启nginx,此命令要在D:\docker目录下执行,到这里环境就算搭建好了,接下来进入phpstorm开发环境配置(主要是xdebug配置),打开default项目,修改i.php

<?php
$a = "hello zhimiao";
echo $a;
phpinfo();

配置default项目的server(此处主要是定义一个映射,因为本地的路径和容器内的路径不一致,容器内是linux系统,php目录为/var/www/html,nginx目录为/usr/share/nginx)

set phpstorm server

设置remote debug配置,如下图

set phpstorm remote xdebug

配置好之后,选择刚刚配置的xdebug-1301,然后点击小虫子,进入监听状态,接着对i.php第三行断点

set phpstorm remote xdebug

用浏览器访问i.php,发现开始转圈圈,然后phpstorm中出现xdebug信息

set phpstorm remote xdebug

有的时候我们经常需要查看docker容器的状态以及一些配置,总是用命令行比较费劲,其实phpstorm里面提供了对docker的操控面板,这里需要用到文初设置的TLS

set phpstorm docker gui

show phpstorm docker gui

control phpstorm docker gui

推广了一段时间后发现mysql8的加密方式是个坑,导致初始化成功后连接各种毛病,在此附上修正方案

# 登陆到容器内
docker exec -it mysql的容器ID /bin/bash
# 登陆到容器内的mysql内
mysql -uroot -proot
# 重置root密码
alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
flush privileges;
comments powered by Disqus