라즈베리 파이(linux/ARM)에서 도커 이미지를 빌드하는 동안 iptables 오류가 발생했습니다.

라즈베리 파이(linux/ARM)에서 도커 이미지를 빌드하는 동안 iptables 오류가 발생했습니다.

내 라즈베리 파이에 docker와 docker-compose가 설치되어 있습니다. 다음 docker-compose.yml을 빌드하려고 시도하는 동안 (linux/arm 이식된) mysql 이미지를 빌드하는 동안 IP 테이블 오류가 발생합니다.

도커-compose.yml:

version: '2'
services:
  crawler:
    container_name: crawler
    depends_on:
      - mysql
    build: ./crawler
  dns:
    container_name: dns
    depends_on:
      - mysql
    build: ./dns
    ports:
      - 5053:53/tcp
      - 5053:53/udp
  mysql:
    container_name: mysql
    restart: always
    image: hypriot/rpi-mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: 'test_pass'
      MYSQL_PASSWORD: 'test_pass'
      MYSQL_USER: 'user'
      MYSQL_DATABASE: 'db'

    volumes:
      - data-volume:/var/lib/mysql
    ports:
      - "3306:3306"
    expose:
      - '3306'
volumes:
  data-volume:

오류:

ERROR: for mysql  Cannot start service mysql: b'driver failed programming external 
connectivity on endpoint 1fbcdc69860b_mysql (110b4b2dc5ea028af72136d3ea1776a44dd9420b6617264b88357231335bb853):  
(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination 172.18.0.2:3306 ! -i br-537bb705ad31: 
iptables: No chain/target/match by that name.\n (exit status 1))'
ERROR: Encountered errors while bringing up the project.

답변1

문제가 발생하는 이유는 여러 가지가 있지만 가장 정확한 이유는 다음과 같습니다. docker-composed.yml 파일은 ip-tables 규칙에 의해 차단되는 일부 구성을 표시하므로 Raspberry Pí는 원격 장치와 연결할 수 없습니다. SQL Server 데이터베이스이므로 방화벽 규칙을 검토해야 합니다. 두 번째 이유는 Raspberry Pí에 기본적으로 docker로 구성된 이미지를 생성하기 위한 일부 사용자 정의 파일이 있기 때문일 수 있으므로 이를 생성하려면 반복적으로 등록된 Raspberry Pí 저장소의 파일을 다운로드하는 것이 더 좋을 것 같습니다. 문제를 피하십시오. 다음 파일은 몇 가지 유용한 정보를 제공합니다. https://docs.linksmart.eu/display/LOF/Installation+with+docker+on+a+raspberry+pi+3

관련 정보