公司派下来一个任务,把ERP进销存环境放到docker上去跑,对docker、php及web环境搭建毫不熟悉的我只好一步一步来,网上相关教程想必很多了,这里还是记录一下新手小白长达四天经历各种愚蠢的失败终于完成的搭建过程……
ERP进销存获取链接:https://www.52pojie.cn/thread-1151307-1-1.html
差不多的web项目应该都能依据此步骤完成,这里以此ERP进销存系统为实现例子。
1.镜像拉取
由于我的设备是arm64处理器,mysql这里选择Docker Hub上的mysql/mysql-server(直接搜索),tag选择latest;php就用php,根据下面的此ERP进销存项目的要求,tag选择5.6-fpm;nginx就使用nginx,我在这选择了1.17.6的tag,nginx的tag选择影响应该不大。
欢迎使用模板饭ERP进销存V8标准版系统
请按照以下方法安装程序
安装环境PHP5.6
1、首先把更目录的erp.sql导入到数据库
2、打开application\config\database.php文件,找到数据库配置字段
如下:
$db['default']['hostname'] = 'localhost'; //一般默认即可
$db['default']['username'] = 'root'; //数据库用户名
$db['default']['password'] = 'root'; //数据库密码
$db['default']['database'] = 'erpv8'; //数据库名称
访问您的网址 账号为 admin 密码为 mobanfan.com
PS:docker中的tag类似与git中的版本,具体镜像和tag选择要根据项目的要求和项目所跑设备的处理器类型来,比如DockerHub中的mysql镜像仓库就没有适用arm64的,因此选择mysql/mysql-server。而且刚开始我直接拉取php:latest,结果当然不能用,人家网上教程都让拉取php-fpm,至于为什么不能用看了半天相关资料仍然没懂透,原谅我对于php在此之前实在是一无所知,公司疯狂催我,鄙人只能见好就过……先把过程记录下来吧。
据上,依次使用下面的命令拉取镜像:
docker pull mysql/mysql-server:latest
docker pull php:5.6-fpm
docker pull nginx:1.17.6
经过三次漫长的等待后,我们可以查看系统中已拉取的镜像:
root@localhost:/home/ubuntu# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest cefadf73f449 2 months ago 435MB
nginx 1.17.6 bfbe0b456268 6 months ago 120MB
php 5.6-fpm 3c6e97923edb 17 months ago 305MB
2.部署Mysql容器
镜像成功拉取后,我们要挨着run各镜像生成容器,先从最独立的mysql开始。
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql/mysql-server:latest
参数解释:
--name : 为运行的容器取一个别名(只需注意系统中各docker容器的name不可重复),此后对容器的重启停止删除等操作可以直接适用此别名。
-p:端口映射,格式为主机port:容器port,这里我们直接把mysql默认开放的3306端口映射到主机的3306上。
-e:传递环境变量,这里后面的MYSQL_ROOT_PASSWORD=123456意为将mysql数据库root用户的密码设置为123456。
-d:后台运行容器
mysql/mysql-server:latest:你所要运行的目标镜像名:tag
命令执行后,我们查看mysql是否成功执行:
root@localhost:/home/ubuntu# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c33536c36bcb mysql/mysql-server "/entrypoint.