Публикация нескольких изображений на hub.docker.com в одном репозитории - PullRequest
0 голосов
/ 31 января 2019

Я новичок в Docker, и это вызывает у меня головную боль.Я заканчиваю разработку сайта в Magento, связывающего несколько изображений с помощью docker-compose.yml.

Вот мой docker-compose.yml

version: '3'
services:
  web:
    image: webdevops/php-apache-dev:7.1
    container_name: web
    restart: always
    user: application
    environment:
    - WEB_ALIAS_DOMAIN=local.domain.com
    - WEB_DOCUMENT_ROOT=/app/pub
    - PHP_DATE_TIMEZONE=EST
    - PHP_DISPLAY_ERRORS=1
    - PHP_MEMORY_LIMIT=2048M
    - PHP_MAX_EXECUTION_TIME=300
    - PHP_POST_MAX_SIZE=500M
    - PHP_UPLOAD_MAX_FILESIZE=1024M
    volumes:
    - "./:/app:cached"
    ports:
    - "80:80"
    - "443:443"
    - "32823:22"
    links:
    - mysql
  mysql:
    image: mariadb:10
    container_name: mysql
    restart: always
    ports:
    - "52000:3306"
    environment:
    - MYSQL_ROOT_PASSWORD=root
    - MYSQL_DATABASE=magento
    volumes:
    - db-data:/var/lib/mysql
  phpmyadmin:
    container_name: phpmyadmin
    restart: always
    image: phpmyadmin/phpmyadmin:latest
    environment:
    - MYSQL_ROOT_PASSWORD=root
    - PMA_USER=root
    - PMA_PASSWORD=root
    ports:
    - "8080:80"
    links:
    - mysql:db
    depends_on:
    - mysql
volumes:
  db-data:
    external: false

Затем docker-compose up -d --build.У меня есть 3 изображения и 3 контейнера на моем локальном компьютере.

Я хочу опубликовать это изображение на hub.docker.com, чтобы любой желающий мог загрузить образ и запустить все контейнеры.

Также есть способ добавить в образ базу данных MySQL.так у кого-нибудь может быть такой же работающий сайт, как у меня на моем локальном?

1 Ответ

0 голосов
/ 31 января 2019

Помните, что на Docker Hub вы можете публиковать только изображения Docker;вы не можете публиковать контейнеры, тома, файлы Docker Compose YAML или другие артефакты.Поскольку YAML-файл является довольно простым текстовым файлом, его очень часто публикуют на GitHub вместе с файлом README, объясняющим, как его использовать.

Вам не нужно нажимать phpmyadmin/phpmyadmin или mariadb изображения, потому что это стандартные изображения Docker Hub, поэтому вам нужно всего лишь нажать свое собственное изображение.Я настоятельно рекомендую удалить volumes:, который монтирует ваше локальное дерево разработки поверх содержимого изображения, чтобы проверить, действительно ли изображение соответствует вашим ожиданиям.

Есть ли способ добавить в образ mysql DB

Нет.Различные стандартные образы базы данных Docker построены таким образом, что чрезвычайно сложно создать образ, содержащий предварительно заполненные данные. Образ Wordpress с данными mysql имеет хорошее обсуждение по теме, а Контейнер MySQL Docker не сохраняет данные в новое изображение имеет хороший анализ в самом вопросе.

...