Как контейнировать MySQL с помощью Docker для Docker Compose? - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь контейнировать MySQL для моего приложения, используя Docker. Бэкэнд сделан с использованием Spring Boot, а фронтэнд состоит из кода Angular. Я использую MySQL в качестве базы данных.

Я создал Docker-compose.yml для бэкэнда и внешнего интерфейса. Тем не менее, я понятия не имею, как добавить часть «build mysql image too» в файл .yml. Я хочу достичь этих двух вещей -

  1. Создайте образ для mysql из docker-compose.yml
  2. Используйте этот контейнер mysql и откройте его bash, чтобы выгрузить несколько строкданные в базу данных. (С помощью docker exec -it db bash)

Как мне этого добиться? Я установил MySQL для Ubuntu. Я понятия не имею, как поступить, т. Е. Нужно ли мне тянуть образ MySQL или нет. Может кто-нибудь помочь мне с пошаговым методом?

Вот docker-compose.yml

version: '3'

services:
  db:
    build: sqldocker
    ports:
           -  "3306:3306"
    environment:
           - MYSQL_ROOT_PASSWORD=123456
           - MYSQL_DATABASE=testdb
           - MYSQL_USER=root
           - MYSQL_PASSWORD=123456
           - MYSQL_ROOT_HOST=%
    volumes:
           - my-datavolume:/var/lib/mysql
    healthcheck:
           test: ["CMD", "mysqladmin", "ping"]
           timeout: 20s
           retries: 10
    restart: always
  backendserver:
    build: ./docker-demo-backend/
    ports:
           - "8080:8080"
    links:
           - "db"
    depends_on:
           - "db"
    restart: always
  frontend:
    build: ./docker-demo-frontend/
    links:
           - "backendserver"
    depends_on:
           - "backendserver"
    ports:
           - "80:80"

1 Ответ

0 голосов
/ 05 ноября 2019

Это полностью работоспособный пример запуска mysql с помощью docker composer. Вы можете применить его для себя: версия: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

volumes:
    db_data: {}

Официальное руководство

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...