Рубрики
Uncategorized

Как выполнить команды Docker внутри контейнера Docker? 🐳👩🏻‍💻

Я видел, как многие люди задавали вопрос: как выполнить Docker в контейнере Docker? И т… Помечено с Docker, DevOps, новичками, учебным пособием.

Я видел, как многие люди задавали вопрос: Как выполнить Docker внутри контейнера Docker? И на самом деле может быть вариант использования для этого.

Наиболее очевидный вариант использования Для меня был контейнер Jenkins, который должен выполнить команды Docker, чтобы создать и натолкнуть изображение в Docker Repo в его заданиях.

Есть 3 способа сделать это:

  1. Получите готовое изображение Jenkins с предварительно установленным Docker

  2. Установите Docker самостоятельно на официальном изображении Дженкинса (отрегулировав Dockerfile и восстановив изображение)

  3. Используйте Docker, установленную на хосте, где работает контейнер. -> Это вариант, который я использовал

Чтобы доставить докер из хоста в контейнер, вам нужно установить путь установки Docker на хосте в контейнер Jenkins.

apiVersion: extensions/v1beta1

kind: Deployment

metadata:

  name: jenkins

spec:

  template:

    spec: 

      containers:

      - image: jenkins

        name: jenkins

        ...

        volumeMounts:

        - mountPath: /var/run/docker.sock

          name: docker-sock

        ...

      volumes:

      - name: docker-sock

        hostPath:

          path: /var/run/docker.sock

Теперь, когда этот контейнер Jenkins начнется, у вас будут команды Docker, доступные внутри.

Полный и бесплатный курс Kubernetes & Docker на YouTube

Оригинал: «https://dev.to/techworld_with_nana/how-to-execute-docker-commands-inside-of-a-docker-container-3j2h»