bitnami/docker-magento2安装
1 min read在使用作者的docker-compose文件不修改任何参数,在本地环境中可以正常运行,但如果修改任何参数则不可以运行,多数报错是数据库无法连接或不能使用空密码,而这些是按照文档说明做了详细的配置。
数据库无法连接查看运行日志是因为权限的问题,我做了本地存储固化,但见鬼。。。解决的办法就是手动创建目录,然后给目录设置权限,进容器查看了当前的权限之后赋予775权限,与容器内权限相同,所有者为root用户。
另外,参照github文档里使用latest版本安装magento时总是中断,所以还是选择了docker.io里的镜像运行容器,可以正常安装。
docker network create magento-net
//创建一个网络以便magento相关容器共用
mkdir -p magento_data/{mariadb,magento,elasticsearch_data}
//创建目录
sudo chown -R root:root magento_data
//更改所有者为root
sudo chmod -R 775 magento_data
//设置权限775以便容器读写
docker run -d --restart=always --name mariadb \
-p 3307:3306 \
--env ALLOW_EMPTY_PASSWORD=no \
--env MARIADB_ROOT_PASSWORD=password \
--env MARIADB_USER=username \
--env MARIADB_PASSWORD=password \
--env MARIADB_DATABASE=magento \
--network magento-network \
--volume /magento/magento_data/mariadb:/bitnami/mariadb \
docker.io/bitnami/mariadb:10.4
//创建数据库服务器,并映射一个端口为以后其它服务程序使用
docker run -d --restart=always --name elasticsearch \
--network magento-network \
--volume /magento/magento_data/elasticsearch_data:/bitnami/elasticsearch/data \
docker.io/bitnami/elasticsearch:7
//创建elasticsearch
docker run -d --restart=always --name magento \
-p 4480:80 -p 4443:443 \
--link mariadb:mariadb \
--env ALLOW_EMPTY_PASSWORD=no \
--env MAGENTO_DATABASE_USER=username \
--env MAGENTO_DATABASE_PASSWORD=password \
--env MAGENTO_DATABASE_NAME=magento \
--env MAGENTO_EMAIL=hyeos@hyeos.net \
--env MAGENTO_FIRST_NAME=Huibin \
--env MAGENTO_LAST_NAME=He \
--env MAGENTO_HOST=store.hyeos.net \
--env MAGENTO_MODE=production \
--env MAGENTO_ADMIN_URL_PREFIX=admin \
--env MAGENTO_ENABLE_HTTPS=yes \
--env MAGENTO_ENABLE_ADMIN_HTTPS=yes \
--env APACHE_HTTP_PORT_NUMBER=80 \
--env APACHE_HTTPS_PORT_NUMBER=443 \
--env MAGENTO_EXTERNAL_HTTP_PORT_NUMBER=80 \
--env MAGENTO_EXTERNAL_HTTPS_PORT_NUMBER=443 \
--env PHP_MAX_EXECUTION_TIME=3600 \
--env PHP_MEMORY_LIMIT=2046M \
--network magento-network \
--volume /magento/magento_data/magento:/bitnami/magento \
--volume /acme_ssl:/ssl:ro \ //挂载本地的ssl证书目录
docker.io/bitnami/magento:2
//创建安装magento2.4,其中设置apache默认端口及外部展露端口为通用的80及443,并设置外部映射端口以做反向代理