PHPStrom部署应用到Docker
一、最近公司的项目需要引用一个开源的医疗项目OpenEMR,这个项目是使用PHP编写,运行在Docker中的,需要在自己的电脑上运行OpenEMR熟悉一下这个项目。
二、准备工作:
1. 安装PHP和PHPStrom,参考这篇文章:PHPStrom安装踩坑经历
2. 安装Docker,参考这篇文章:Docker安装之踩坑经历
三、下载OpenEMR
1. 打开PHPStrom,选择Get from Version Control
2. 输入的clone地址:https://github.com/openemr/openemr.git
,点击clone,完成后会自动打开项目
四、设置Docker
1. 打开Docker Desktop,然后在任务栏右下角找到Docker,点击,选择Settings,
然后在打开的页面中点击Docker Engine,把原来默认的改为下面这个,然后点击Apply & Restart
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
"insecure-registries": [],
"debug": true,
"experimental": false}
2. 查看项目根目录中是否已有docker-compose.yml
,没有则添加Docker compose配置文件:选择OpenEMR项目->右键->New->File->Name: docker-compose.yml,文件的内容为:
# Use admin/pass as user/password credentials to login to openemr (from OE_USER and OE_PASS below)
# MYSQL_HOST and MYSQL_ROOT_PASS are required for openemr
# MYSQL_USER, MYSQL_PASS, OE_USER, MYSQL_PASS are optional for openemr and
# if not provided, then default to openemr, openemr, admin, and pass respectively.
version: '3.1'
services:
mysql:
restart: always
image: mariadb:10.4
command: ['mysqld','--character-set-server=utf8']
volumes:
- databasevolume:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
openemr:
restart: always
image: openemr/openemr:5.0.2
ports:
- 80:80
- 443:443
volumes:
- logvolume01:/var/log
- sitevolume:/var/www/localhost/htdocs/openemr/sites
environment:
MYSQL_HOST: mysql
MYSQL_ROOT_PASS: root
MYSQL_USER: openemr
MYSQL_PASS: openemr
OE_USER: admin
OE_PASS: pass
depends_on:
- mysql
volumes:
logvolume01: {}
sitevolume: {}
databasevolume: {}
3. 在PHPStrom的右上角打开run configuration或者Edit Configurations
接着在打开的窗口按照下图的步骤做
a. 点击按钮:+
b. 选择Docker
c. 选择Docker-compose
d. 然后右边会出现新的内容,,在Compose file(s)
中选择项目根目录下的docker-compose.yml
e. 点击Compose file(s)
上面一行的Server,选择Create New进入到添加server的窗口,等一下就会看到新窗口中出现Connection successful
,就代表成功连接到Docker了,然后点击OK
f. 接着在窗口的右下角点击Apply,点击OK。
五、下载Docker Image
1. 选择OpenEMR项目->右键->Open In Terminal
2. 输入命令执行,就可以成功下载OpenEMR的的Docker Image了,关于OpenEMR的的Docker Image的官方文档可以查看这里:https://hub.docker.com/r/openemr/openemr
docker pull openemr/openemr
六、运行PHPStrom里面的Docker
1. 使用快捷键打开PHPStrom下面部分的Service窗口 ,点击运行Docker,成功后会在右边出现Connected