Сборка Docker застряла на установке MariaDB - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь создать набор образов Docker, который включает в себя установку Magento 2 и MariaDB.В редких случаях это удается (хотя это может быть связано с небольшими изменениями в приложении), но в большинстве случаев оно застревает на следующем:

magento2-db    | Version: '10.3.11-MariaDB-1:10.3.11+maria~bionic'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution

Я вижу, что у кого-то еще была эта проблема, нопричиной были фактические RUN команды для установки MariaDB, которые я не вызываю напрямую.В журнале, похоже, нет ничего, что указывало бы на ошибку.

Последние строки в журнале:

[16:49:18.424][Moby           ][Info   ] [25693.252573] br-83922f7da47b: port 2(vethac51834) entered blocking state
[16:49:18.453][Moby           ][Info   ] [25693.290035] br-83922f7da47b: port 2(vethac51834) entered forwarding state
[16:49:18.637][ApiProxy       ][Info   ] time="2018-11-28T16:49:18+02:00" msg="proxy << POST /v1.25/containers/67175238f0e7a75ef527dbebbb1f5d992f1d01ee166643186dc5f727638aa66b/start (1.0560013s)\n"
[16:49:18.645][ApiProxy       ][Info   ] time="2018-11-28T16:49:18+02:00" msg="proxy >> GET /v1.25/events?filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Dmagento2%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D\n"

Кажется, что на самом деле все действия вDockerfile, но я подозреваю, что может быть проблема в моем файле docker-compose, который выглядит следующим образом:

version: '3.0'
services:
  app:
    build:
      context: .
      dockerfile: .docker/Dockerfile
    container_name: 'magento-2.2.6'
    ports:
      - "80:80"
    volumes:
      - magento2-test-env:/var/www/html/magento2 # will be mounted on /var/www/html
    links:
      - magento2-db
    env_file:
      - .docker/env
    depends_on:
      - magento2-db
  magento2-db:
    container_name: 'magento2-db'
    image: mariadb:latest
    ports:
      - "9809:3306"
    volumes:
      - magento2-db-data:/var/lib/mysql/data
    env_file:
      - .docker/env
volumes:
  magento2-db-data:
  magento2-test-env:
    external: true

Что-то явно не так с моей настройкой, и есть хороший способ устранения неполадокэто, может быть, искать что-то конкретное в журнале?

1 Ответ

0 голосов
/ 30 мая 2019

может быть, в том, как вы создаете свой композитор, в чем проблема.

Попробуйте использовать это:

version: '3.0'
services:
  app:
    build:
      context: .
      dockerfile: .docker/Dockerfile
    container_name: 'magento-2.2.6'
    ports:
      - "80:80"
    volumes:
      - magento2-test-env:/var/www/html/magento2 # will be mounted on /var/www/html
    links:
      - magento2-db
    env_file:
      - .docker/env
    depends_on:
      - db
  db:
    container_name: 'magento2-db'
    image: mariadb:latest
    ports:
      - "9809:3306"
    volumes:
      - /var/lib/mysql/data
    env_file:
      - .docker/env
volumes:
  magento2-db-data:
  magento2-test-env:
    external: true

Избегайте использования имен сервисов, таких как 'blabla -thing', если вам нужновведите имя в качестве контейнера_имя, этого будет достаточно, и db, links всегда должно ссылаться в самих службах, а не в имени контейнера.

Надеюсь, это может вам помочь.

...