Tengo Docker y Docker-Compose instalados en mi Raspberry Pi. Al intentar crear el siguiente docker-compose.yml, recibo el error de tablas de ip durante la creación de una imagen mysql (portada a Linux/arm).
docker-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:
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.
Respuesta1
El problema puede deberse a varias razones pero las más precisas son las siguientes: El archivo docker-composed.yml presenta alguna configuración que está siendo bloqueada por las reglas de ip-tables por esa razón Raspberry Pí no puede tener conectividad con el control remoto. base de datos del servidor SQL, por lo que se deben revisar las reglas del firewall. La segunda razón podría deberse a que Raspberry Pí tiene algunos archivos personalizados por defecto para crear imágenes compuestas por Docker, por lo que para crear eso parece mejor descargar el archivo de un repositorio registrado de Raspberry Pí, de esta manera es posible evitar problemas. El siguiente archivo presenta información útil: https://docs.linksmart.eu/display/LOF/Installation+with+docker+on+a+raspberry+pi+3