Я использую dockerode для создания и запуска контейнеров.Я пытаюсь импортировать данные в MySQL.мой код:
docker.run('img_cwd',['mysql',
'-h', 'localhost',
'-u', 'user',
`-ppassword`,
'dbName',
'<',
`/tmp/21336/sql/data/import_file.sql"`],
[process.stdout, process.stderr],
{
Tty: false,
name: nameGenerator.getContainerName(),
AttachStdin: true,
OpenStdin: true,
StdinOnce: true,
HostConfig: {
Binds: ['/C/tmp:/tmp']
}
})
в C: / tmp У меня в папке "21336"
после запуска моего кода я вижу, что импорт не происходит, и команда docker ps показывает это:
15d405443805af1a2635e7bc456311de741352ff4ae6b1efb3d43cb10a73d62c img_cwd "mysql -h localhost -u user-ppassword dbName < /tmp/21336/sql/data/import_file.sql" 9 seconds ago Exited (1) 8 seconds ago Import_b01k8qr29jh868vf0959cy_Data
, когда я запускаю контейнер с флагом '-it' и запускаю команду импорта:
mysql -h localhost -u user-ppassword dbName < /tmp/21336/sql/data/import_file.sql
работает отлично.
изображение, которое я использую:
FROM alpine:3.9
RUN apk update && \
apk add --no-cache mysql-client
CMD ["/bin/sh"]
журналы неудачного запуска контейнера показывают, что он не распознает команду: