Skip to content

Instantly share code, notes, and snippets.

@konflic
Last active April 1, 2025 16:13
Show Gist options
  • Save konflic/ecd93a4bf7666d97d62bcecbe2713e55 to your computer and use it in GitHub Desktop.
Save konflic/ecd93a4bf7666d97d62bcecbe2713e55 to your computer and use it in GitHub Desktop.
Docker-compose opencart + phpmyadmin
services:
phpadmin:
image: 'phpmyadmin/phpmyadmin:latest'
environment:
- PMA_HOST=mariadb
- PMA_PORT=3306
- PMA_USER=bn_opencart
ports:
- '${PHPADMIN_PORT}:80'
mariadb:
image: docker.io/bitnami/mariadb:11.2
environment:
- ALLOW_EMPTY_PASSWORD=yes
- MARIADB_USER=bn_opencart
- MARIADB_DATABASE=bitnami_opencart
ports:
- '3306:3306'
opencart:
image: bitnami/opencart:4.0.2-3-debian-12-r33
ports:
- '${OPENCART_PORT}:8080'
- '443:8443'
environment:
- OPENCART_HOST=${LOCAL_IP}:${OPENCART_PORT}
- OPENCART_DATABASE_HOST=mariadb
- OPENCART_DATABASE_PORT_NUMBER=3306
- OPENCART_DATABASE_USER=bn_opencart
- OPENCART_DATABASE_NAME=bitnami_opencart
- ALLOW_EMPTY_PASSWORD=yes
depends_on:
- mariadb
@ZemAleks
Copy link

ZemAleks commented Sep 3, 2023

Инструкция для запуска и перезапуска образа Docker из .yml файла в Windows 10.

РАЗНЫЕ файлы .yml для разного запуска сборки образа Docker.
Запустить скаченный фаил в подсистеме (WSL) Windows для Linux Ubuntu из терминала PowerShell от администратора.

1. Первый запуск образа Docker.
Первый (чистый) запуск выполняется командой "docker-compose up" из директории где раположен .yml фаил.
Фаил .yml для первого запуска должен быть без дополнительных параметров портов и IP, таких как OPENCART_PORT, PHPADMIN_PORT, LOCAL_IP.
Дополнительные параметры портов и IP адреса, можно закомментировать знаком решетки "#" (хэштега), чтобы не удалять параметры из файла.
При необходимости дополнительные параметры можно раскомментировать после сборки, убрать знаки решеток.

Команда для запуска:
$ sudo docker-compose up -d

Пример:

...
 phpadmin:
    ports:
      # '${PHPADMIN_PORT}:80'
      - '8888:80'
...
 opencart:
    ports:
      # '${OPENCART_PORT}:8080'
      - '80:8080'
      - '443:8443'
    environment:
      # OPENCART_HOST=${LOCAL_IP}:${OPENCART_PORT}
      # OPENCART_HOST=localhost
      - OPENCART_HOST=172.27.0.1
...

2. Повторный запуска образа Docker.
Прежде чем запустить пересборку контейнера с новым адресом нужно остановить запущенный образ и почистить кэш.

$ sudo su    				# перейти в режим Админа с root правами (с ввводом пароля).

$ sudo docker-compose up -d 		# для реализации сборки и «поднятия» всех сервисов приложения, для их запуска, без отображения логов.

$ sudo docker-compose down 		# потушить все контейнеры из файла docker-compose, а также удаляет все контейнеры и внутренние сети, связанные с этими сервисами.

$ sudo docker volume prune -a 	  	# удаляет все неиспользуемые локальные тома, удалит внешний том и очистить кеш — причём, даже если его использует какой-либо контейнер.

$ sudo docker ps 	# посмотреть запущенные контейнеры.
$ sudo docker ps -a 	# посмотреть все контейнеры (включая потушенные).
$ sudo docker images 	# показать образ, из которого разворачивается контейнер.

$ sudo docker inspect opencart_default 	# отображает подробную информацию образа Docker после обращения к конкретному контейнеру "opencart-opencart-1".

Для перезапуска образа Docker с изменением портов и адреса необходимо, уже установленый файл .yml отредактировать и раскомментировать.
Убрать решетку "#" и поставить тирэ "-", вручную в файле указать параметры OPENCART_PORT, PHPADMIN_PORT, LOCAL_IP.
И закомментировать лишние параметры портов.

Пример:

...
 phpadmin:
    ports:
      - '${PHPADMIN_PORT}:80'
      # '8888:80'
...
 opencart:
    ports:
      - '${OPENCART_PORT}:8080'
      # '80:8080'
      - '443:8443'
    environment:
      - OPENCART_HOST=${LOCAL_IP}:${OPENCART_PORT}
      # OPENCART_HOST=localhost
      # OPENCART_HOST=172.27.0.1

Перезапуск выполняется командой:
$ OPENCART_PORT=8081 PHPADMIN_PORT=8888 LOCAL_IP=172.27.66.7 sudo docker-compose up -d

3. Проверить IP адрес после перезапуска.
Необходимо перепроверить локальный адрес в браузере, в панели нтструментов разразботчика Devtools при запуске системы opencart, клавиша для открытия F12.
На вкладке Network, режим all, колонка запроса Name (название) - IP адрес или localhost, раздел Response.
Далее, смотреть в HTML разметке, сверху в теге <head> строчку <base href= .../>, например
<base href="http://172.27.66.7:8081/"/>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment