为 Magento 1.9.x.x 准备的docker环境,可能1.7.x,1.8.x也能用
为 Magento 1.9.x.x
准备的docker环境,可能1.7.x
,1.8.x
也能用
参见docker 官方文档
https://docs.docker.com/install/linux/docker-ce/ubuntu/
https://docs.docker.com/compose/install/#master-builds
# 项目文件夹
mkdir magento-domain-1/ && cd magento-domain-1/
# magento 1.x 代码文件夹
mkdir public/
magento-domain-1/
├── .docker-compose/ # <---- docker-compose 运行及数据文件夹
│ ├── adminer
│ ├── db
│ ├── docker-compose.yml
│ ├── .env
│ ├── .env.example
│ ├── .git
│ ├── .gitignore
│ ├── nginx
│ ├── php-fpm
│ └── README.md
└── public/ # <------------- magento 1.x 代码文件夹
├── api.php
├── app
├── cron.php
├── cron.sh
├── dev
├── downloader
├── error_log
├── errors
├── favicon.ico
├── get.php
├── .htaccess
├── .htaccess.sample
├── includes
├── index.php
├── index.php.sample
├── install.php
├── js
├── lib
├── LICENSE_AFL.txt
├── LICENSE.html
├── LICENSE.txt
├── mage
├── media
├── php.ini.sample
├── RELEASE_NOTES.txt
├── shell
├── skin
└── var
cd magento-domain-1/
git clone https://github.com/goodwong/docker-magento .docker-compose
cd .docker-compose/
cp .env.example .env
默认配置即可运行,如果有多个magento站点运行,分别修改以下变量为不同的值:
COMPOSE_PROJECT_NAME
= NGINX_HOST_HTTP_PORT
= DB_ADMINER_PORT
= 生产环境下,建议修改数据库密码
DB_ROOT_PASSWORD
=DB_PASSWORD
=DB_USER
=DB_NAME
=
cd .docker-compose/
docker-compose up -d web
# 如果需要查看日志,增加:
docker-compose logs -f
cd magento-domain-1/
cd public/
# tar jxf .docker-compose/magento-1.9.3.9-2018-06-27-02-47-24.tar -C public/
# 文件过大,自行下载吧。。。
然后在浏览器里访问 http://你的服务器ip或域名:nginx端口号
安装过程中,配置数据库:
数据库地址:
db
数据库用户名:root
或.env文件<DB_USER>
数据库密码:见.env文件<DB_ROOT_PASSWORD>
或<DB_PASSWORD>
数据库名称:见.env文件<DB_NAME>
,可不填
public/
文件夹app/etc/local.xml
数据库信息:数据库地址:
db
数据库用户名:见.env文件<DB_USER>
数据库密码:见.env文件<DB_PASSWORD>
数据库名称:见.env文件<DB_NAME>
cd .docker-compose/
docker-compose exec php-fpm bash
chown -R www-data:www-data public/var/ public/media/
有两种方式管理数据库:
adminer
的web界面操作打开浏览器 http://IP地址:
cd .docker-compose/
docker-compose up adminer
Server
地址填写db
项目文件夹
下
cd .docker-compose/
docker-compose exec db bash
cd /var/www/html/
mysql -p magento < database_backup_file.sql
# ^ ^
# 数据库名 数据库备份文件
# 见.env文件
注意分别修改
.env文件
里端口变量为不同的值
建议使用nginx
作前端机,配置代理规则
# 宿主机
# /etc/nginx/sites-available/domain-1.conf
server {
listen 80;
listen [::]:80;
server xxx.com www.xxx.com;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8888/; # <--- 末尾必须有/符号
# <--- 端口号见<NGINX_HOST_HTTP_PORT> 变量
}
}