Docker-клиент установлен на образе jenkinsci/blueocean
, но не на демоне. Docker клиент будет использовать демон (по умолчанию через сокет unix:///var/run/docker.sock
). Для работы Docker клиенту необходим демон Docker, вы можете прочитать Docker Architecture для получения дополнительной информации.
Что вы можете сделать:
Использовать изображение Docker-in-Docker (DinD)
Образ библиотеки Docker предоставляет способ запуска демона Docker в Docker, который затем можно использовать из другого контейнера. Например, используя обычный интерфейс командной строки:
docker run --name docker-dind --privileged -d docker:stable-dind
docker run --name jenkins --link=docker-dind -d jenkinsci/blueocean
docker exec jenkins docker -H docker-dind images
REPOSITORY TAG IMAGE ID CREATED SIZE
Демон Docker запускается в контейнере docker-dind
и может быть доступен с тем же именем хоста. Вам просто нужно предоставить клиенту Docker хост демона (в этом примере -H docker-dind
, вы также можете использовать переменную DOCKER_HOST
env, как описано в the doc ).
Смонтируйте хост-машину /var/run/docker.sock
в вашем контейнере
Как описано @ Герман Гарсия ответ:
docker run -p 8080:8080 --user root \
-v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean