Процесс сборки завершается с «Отказано в доступе».
Фон
Вытащите и поймайте последнее изображение marcelstoer / nodemcu-build.и запустить процесс строительства.Он работает под Powershell.
PS> $inv=${Get-Location}.Path
PS> docker run --rm -it -v ${inv}:/opt/nodemcu-firmware marcelstoer/nodemcu-build build
esp-open-sdk/
esp-open-sdk/xtensa-lx106-elf/
esp-open-sdk/xtensa-lx106-elf/libexec
<snip>
esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/crti.o
esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/crtn.o
sed: cannot remove app/include/sedr4uC4x: Permission denied
PS>
Проблема с разрешением?
Я полагаю, проблема с разрешениями между Window и Docker.Проверьте разрешение на образ Ubuntu.
PS> docker run --rm -it -v ${inv}:/opt/nodemcu-firmware ubuntu
root@3c6ec540bf04:/# ls /opt/nodemcu-firmware/
CONTRIBUTING.md LICENSE Makefile README.md app bin docs ld local lua_examples lua_modules mkdocs.yml rtd-requirements.txt sdk-overrides tools
root@3c6ec540bf04:/# cd !$
cd /opt/nodemcu-firmware/
root@3c6ec540bf04:/opt/nodemcu-firmware# touch aa
root@3c6ec540bf04:/opt/nodemcu-firmware# ls -la aa
---------- 1 root root 0 Sep 17 05:29 aa
root@3c6ec540bf04:/opt/nodemcu-firmware# rm aa
root@3c6ec540bf04:/opt/nodemcu-firmware# ls -la aa
ls: cannot access 'aa': No such file or directory
root@3c6ec540bf04:/opt/nodemcu-firmware#`
Это выглядит хорошо.В чем проблема с изображением nodemcu?
Конверт.
Windows 10 Pro 10.0.17134 N/A Build 17134
Docker version 18.06.1-ce, build e68fc7a
nodemcu-build image
latest: Pulling from marcelstoer/nodemcu-build
Digest: sha256:5ae64c6593f8e40d03be219430f1ce3b2bca8c30421c53f91b3410e94cc9f57d
Status: Image is up to date for marcelstoer/nodemcu-build:latest
Обходной путь
PS > docker run --rm -it -v ${inv}:/opt2/nodemcu-firmware marcelstoer/nodemcu-build bash
root@d29c33feb584:/opt/nodemcu-firmware# cd .. && cp -rfp /opt2/nodemcu-firmware . && chmod a+x nodemcu-firmware/tools/esptool.py
root@d29c33feb584:/opt# cd nodemcu-firmware/ && build
root@d29c33feb584:/opt/nodemcu-firmware# cp -rfp bin /opt2/nodemcu-firmware/
root@d29c33feb584:/opt/nodemcu-firmware# exit
PS > ls bin
-ar--- 2018/09/19 0:24 119 .gitignore
-a---- 2018/09/19 0:24 29120 0x00000.bin
-a---- 2018/09/19 0:24 393216 0x10000.bin
-a---- 2018/09/19 0:24 458752 nodemcu_float_master_20180918-1523.bin
-a---- 2018/09/19 0:24 1181814 nodemcu_float_master_20180918-1523.map
Сборка завершена.Я полагаю, это проблема с передачей разрешений в Docker в Windows.