Tengo problemas para configurar DB2 en macOS a través de Docker en mi M1-Max MacBook Pro (32 GB de RAM). Ya eché un vistazo a esta pregunta, que podría estar relacionada, sin embargo, no hay mucha información y no puedo decir exactamente si se trata exactamente de lo mismo. Configuré lo siguiente docker-compose.yml:
versión: '3.8'
servicios:
db2:
imagen: ibmcom/db2
plataforma: linux/amd64
nombre_contenedor: db2-test
privilegiado: cierto
medioambiente:
LICENCIA: "aceptar"
DB2INSTANCE: "db2dude"
DB2INST1_CONTRASEÑA: "db2pw"
NOMBRE DB: "RC1DBA"
BLU: "falso"
ENABLE_ORACLE_COMPATIBILITY: "falso"
ACTUALIZACIÓN VAIL: "NO"
TO_CREATE_SAMPLEDB: "falso"
REPODB: "falso"
IS_OSXFS: "verdadero"
PERSISTENT_HOME: "verdadero"
HADR_ENABLED: "falso"
ETCD_ENDPOINT: ""
ETCD_NOMBRE DE USUARIO: ""
ETCD_CONTRASEÑA: ""
volúmenes:
- ~/workspace/docker/db2-error/db2/database:/database
- ~/workspace/docker/db2-error/db2/db2_data:/db2_data
puertos:
- 50000:50000
en mi Intel-MacBook, esto gira sin ningún problema, en mi M1-MacBook, sin embargo, veo que después de Task #4
terminar, veo la siguiente parte dentro de STDOUT:
DBI1446I El mandato db2icrt se está ejecutando.
DBI1070I El programa db2icrt se completó satisfactoriamente.
(*) Arreglando el archivo /etc/services para DB2...
/bin/bash: db2stop: comando no encontrado
Por lo que pude deducir, la presencia de (*) Fixing /etc/services file for DB2...
ya parece estar mal (ya que no aparece en mi registro de inteligencia y no parece que todo esté bien) y /bin/bash: db2stop: command not found
aparece debido a la línea 81 de /var/db2_setup/include/db2_common_functions
, que dice su - ${DB2INSTANCE?} -c 'db2stop force'
. Según tengo entendido, su -
debería ejecutarse con la ruta del usuario de destino. En cada uno .profile
o .bashrc
en el directorio de inicio, ~/sqllib/db2profile
se está obteniendo (a través de . /database/config/db2dude/sqllib/db2profile
).
Sin embargo, cuando está como root dentro del contenedor ( docker exec -it db2-test bash
), llamando su - db2dude -c 'echo $PATH'
a, imprime /usr/local/bin:/bin:/usr/bin
. Por lo tanto, el PATH obviamente no es el esperado.
Tal vez alguien pueda averiguar qué está pasando en este punto. También intenté ejecutar Docker con el "nuevo marco de virtualización", que no cambió nada. Supongo que la magia de compatibilidad de Dockers podría no ser perfecta, sin embargo, espero encontrar algún tipo de solución, tal vez construyendo una imagen sobre ibmcom/db2
.
Agradezco mucho su tiempo y sus consejos. Muchas gracias por adelantado.
Solución del problema
db2 no es compatible con la arquitectura ARM, solo se admiten estas arquitecturas: amd64, ppc64le, s390x
https://hub.docker.com/r/ibmcom/db2
No hay comentarios:
Publicar un comentario