Как создается Go исполняемый файл в Docker? - PullRequest
0 голосов
/ 18 февраля 2020

Я довольно новичок в разработке Golang & Docker. Я следую инструкциям официального Golang изображения DockerHub . Вот часть, в которой я немного запутался:

enter image description here

Часть, которую я действительно не получаю, - это последняя строка Dockerfile:

CMD ["app"]

У меня вопрос, как вообще создается исполняемый файл "app"? Я создал стандартный файл hello-world.go и добавил этот файл Docker в каталог. Я не понимаю, как при создании образа Docker создается исполняемый файл под названием «приложение». Может кто-нибудь объяснить?

1 Ответ

0 голосов
/ 18 февраля 2020

Выдержка из go command https://golang.org/cmd/go/#hdr -Compile_and_install_packages_and_dependencies

Компиляция и установка пакетов и зависимостей

Использование:

go install [-i] [флаги сборки] [пакеты]

Установка компилирует и устанавливает пакеты, названные путями импорта.

Исполняемые файлы устанавливаются в каталог, названный переменной среды GOBIN , который по умолчанию равен $ GOPATH / bin или $ HOME / go / bin, если переменная окружения GOPATH не установлена. Исполняемые файлы в $ GOROOT устанавливаются в $ GOROOT / bin или $ GOTOOLDIR вместо $ GOBIN.

Когда режим с поддержкой модулей отключен, другие пакеты устанавливаются в каталог $ GOPATH / pkg / $ GOOS_ $ GOARCH. Когда включен режим поддержки модулей, другие пакеты создаются и кэшируются, но не устанавливаются.

Флаг -i также устанавливает зависимости названных пакетов.

Подробнее о флагах сборки см. go help build. Подробнее об указании пакетов см. «go справочные пакеты».

См. Также: go build, go get, go clean.

Это делает исполняемый файл из вашего go кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...