Невозможно выполнить команды в Docker-контейнере в Jenkins Execute Shell - PullRequest
0 голосов
/ 20 ноября 2018

Docker-контейнер успешно создан с помощью команды docker run в Jenkins execute shell. Теперь внутри Docker-контейнера я хочу выполнить несколько команд. Но я заметил, что команды не выполняются внутри контейнера.

echo password | sudo -S docker pull image

sudo docker images

imageid=`echo password | sudo -S docker images|grep imagename|tr -s ' '|cut -d' ' -f3`

sudo docker run -i --name=test $imageid /bin/bash

container=`echo password | sudo -S docker ps -all|grep test|cut -d' ' -f1`

#First check user if its inside the docker container
whoami

#above showed that its not inside the container as showed the machine user name instead of root user
#As a work around i tried to restart and execute the container

rest=`sudo docker restart $container`

out=`sudo docker exec -i $container /bin/bash`

whoami

# Above still not shows the root user and i am not able to execute the commands in side docker container on Jenkins

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

Я вижу, как вы пытаетесь выполнить команды docker, например ex: docker image внутри контейнера, поэтому прежде всего устанавливается проверка внутри контейнера, если нет, то вы не можете использовать команды docker внутри контейнера.

ex: docker run -it ubuntu

после выполнения вышеприведенной команды вы будете внутри контейнера, как показано ниже.

root: docker images

, поэтому здесь внутри контейнера не отображаются изображения dockerработать как докер не установлен внутри контейнера.

0 голосов
/ 29 марта 2019

Я не знаком с вашей ситуацией, но каждый раз, когда я сталкиваюсь с подобными проблемами, я пытаюсь выполнить команды вручную для отладки процесса.Используйте следующую команду для входа в контейнер Docker:

docker exec -it <my_container> bash

Оказавшись внутри созданного контейнера, выполните команды так же, как вы делаете это в DockerFile.Это улучшит ваш процесс отладки.

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