Как мне получить активные сокеты домена unix для определенного pid, если я не могу использовать команду lsof?

Операционная система - это больше, чем ядро; это ядро ПЛЮС тонна файлов в пользовательском пространстве. То есть такие вещи, как файлы в /bin и /etc и /usr/bin и /lib

Когда вы запускаете контейнер, вашей программе обычно требуется вспомогательный код (разделяемые библиотеки, скрипты) для запуска.

Это не всегда требуется. Например, если вы используете go для написания своей программы, вы можете не иметь ничего, кроме единственного файла

$ cat hello.go
package main

import "fmt"

func main() {
  fmt.Println("Hello, World")
}
$ go build hello.go
$ strip hello

Теперь ваш dockerfile может быть

FROM scratch
COPY hello /
CMD ["/hello"]

Тривиальный случай; это просто пример.

Но если вы попытаетесь запустить php, знаете ли вы все зависимости? Иногда проще поставить минимальную копию общей ОС. Но это связано с некоторыми рисками безопасности.

(see also https://www.sweharris.org/post/2016-06-04-small-container/ )

3
18.03.2016, 00:24
0 ответов

Теги

Похожие вопросы