Docker-Ubuntu-bash: ping: команда не найдена
у меня есть контейнер Docker под управлением Ubuntu, который я сделал следующим образом:
docker run -it ubuntu /bin/bash
однако это, кажется, не имеет ping
. Е. Г.
bash: ping: command not found
мне нужно установить это?
кажется, довольно простая команда отсутствует. Я пытался whereis ping
который ничего не сообщает.
3 ответа:
Докер изображения довольно минимальны, но вы можете установить
ping
в вашем официальном изображении Ubuntu docker через:apt-get update apt-get install iputils-ping
скорее всего, вам не нужно
ping
ваш имидж, а просто хотите использовать его для целей тестирования. Выше пример поможет вам.но если вам нужен пинг, чтобы существовать на вашем изображении, вы можете создать
Dockerfile
илиcommit
контейнер, в котором вы выполнили вышеуказанные команды, в новый изображение.Commit:
docker commit -m "Installed iputils-ping" --author "Your Name <name@domain.com>" ContainerNameOrId yourrepository/imagename:tag
Dockerfile:
FROM ubuntu RUN apt-get update && apt-get install -y iputils-ping CMD bash
обратите внимание, что есть лучшие практики по созданию изображений docker, таких как Очистка файлов кэша apt после и т. д.
этой это страница Docker Hub для Ubuntu и этой это то, как он создается. Он имеет только (несколько) минимальные установленные пакеты, поэтому, если вам нужно что-то дополнительное, вам нужно установить его самостоятельно.
apt-get update && apt-get install -y iputils-ping
однако обычно вы создаете "Dockerfile" и строите его:
mkdir ubuntu_with_ping cat >ubuntu_with_ping/Dockerfile <<'EOF' FROM ubuntu RUN apt-get update && apt-get install -y iputils-ping CMD bash EOF docker build -t ubuntu_with_ping ubuntu_with_ping docker run -it ubuntu_with_ping
пожалуйста, используйте Google, чтобы найти учебники и просматривать существующие Dockerfiles, чтобы увидеть, как они обычно делают вещи:) например, размер изображения должен быть минимизирован работает
apt-get clean && rm -rf /var/lib/apt/lists/*
послеapt-get install
команды.
в качестве альтернативы вы можете использовать образ Docker, у которого уже установлен ping, например busybox:
docker run --rm busybox ping SERVER_NAME -c 2