programing

MariaDB 설치 시 도커 빌드 고착

bestprogram 2023. 10. 14. 10:24

MariaDB 설치 시 도커 빌드 고착

마젠토 2와 마리아DB 설치가 포함된 도커 이미지 세트를 구축하려고 합니다.아주 드문 경우이지만(이는 앱의 작은 변화 때문일 수도 있지만), 대부분의 경우 다음과 같이 고정됩니다.

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

다른 사람이 이 문제를 일으켰지만 그 원인은 실제였습니다.RUNMariaDB 설치를 위한 명령어입니다. 직접 호출하지는 않습니다.로그에도 오류를 나타낼 만한 내용이 없는 것 같습니다.

로그의 마지막 행은 다음과 같습니다.

[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

제 설정에 분명히 문제가 있는 것이 있습니까? 그리고 이 문제를 해결할 수 있는 좋은 방법이 있습니까? 로그에서 특정한 것을 찾을 수 있습니까?

작곡가를 만드는 방법이 뭐가 문제인지 알 수 있습니다.

이것을 사용해 보십시오.

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

container_name으로 이름을 사용해야 한다면 'blabla-something'과 같은 서비스 이름을 사용하지 마십시오.db, links항상 서비스 자체의 링크를 컨테이너 이름에 no로 연결해야 합니다.

도움이 되었으면 좋겠습니다.

문제를 참조하여 -e MYSQL_INITDB_SKIP_TZINFO=1을 설정해 보십시오.

예.

docker run -it --rm -e MYSQL_INITDB_SKIP_TZINFO=1 ... mariadb:10.4.8

언급URL : https://stackoverflow.com/questions/53522396/docker-build-stuck-on-mariadb-installation