我是这个领域的新手。我有一个docker-compose.yml文件启动Magento& MariaDB码头工人集装箱。以下是脚本:
version: '2'
services:
mariadb:
image: 'bitnami/mariadb:latest'
environment:
- ALLOW_EMPTY_PASSWORD=yes
volumes:
- 'mariadb_data:/bitnami/mariadb'
magento:
image: 'bitnami/magento:latest'
environment:
- ENVIRONMENT=Test3
ports:
- '89:80' #for Test3
volumes:
- 'magento_data:/bitnami/magento'
- 'apache_data:/bitnami/apache'
- 'php_data:/bitnami/php'
depends_on:
- mariadb
volumes:
mariadb_data:
driver: local
magento_data:
driver: local
apache_data:
driver: local
php_data:
driver: local
我尝试将http://127.0.0.1:89用于该网站,并且它确实在开始时发生(例如,我可以使用网址打开网站:http://127.0.0.1:89)。但是,当我查看页面源时,我发现这些样式/ js仍指向http://127.0.0.1(端口80)。此外,我无法访问其他页面,如http://120.0.0.1:89/admin。
然后我谷歌,例如一些帖子提到我需要更改" core_config_data"中的base_url值我做过的表(https://magento.stackexchange.com/questions/39752/how-do-i-fix-my-base-urls-so-i-can-access-my-magento-site)。我确实清除了Magento&上的 var / cache 文件夹。 MariaDB容器,但结果仍然相同。 (我没有找到链接提到的 var / session 文件夹。也许Bitnami系统和其他系统有点不同。)
那我怎么试试呢?而且无论如何我还可以在我的 docker-compose.yml 文件中将base_url设置为正确的端口到MariaDB?
P.S。如果使用默认端口80,一切正常。
非常感谢!
答案 0 :(得分:2)
您可以通过以下方式在docker-compose.yml
文件中指明Apache应该监听的端口:
version: '2'
services:
mariadb:
image: 'bitnami/mariadb:latest'
environment:
- ALLOW_EMPTY_PASSWORD=yes
volumes:
- 'mariadb_data:/bitnami/mariadb'
magento:
image: 'bitnami/magento:latest'
ports:
- '89:89'
- '443:443'
environment:
- APACHE_HTTP_PORT=89
volumes:
- 'magento_data:/bitnami/magento'
- 'php_data:/bitnami/php'
- 'apache_data:/bitnami/apache'
depends_on:
- mariadb
volumes:
mariadb_data:
driver: local
magento_data:
driver: local
apache_data:
driver: local
php_data:
driver: local
请注意在Magento容器上使用APACHE_HTTP_PORT
环境变量。另请注意,在这种情况下,port
转发应为89:89
。
请注意,首次启动容器时应执行此更改。这意味着,如果您已经有一些卷,则此方法将不起作用,因为您的配置将从这些卷中恢复。因此,请确保您没有任何音量。您可以通过执行
来检查它docker volume ls
并检查没有任何名为
的卷local DATE_apache_data
local DATE_magento_data
local DATE_mariadb_data
此外,您还可以删除正在执行的卷:
docker-compose down -v