I remember that, stdin
, stdout
& stderr
are first 3 entries of file descriptor table in Process control block.
On a AWS EC2 instance(host1
), We have jenkins slave(say slave-container
).
slave-container
consist of docker client that talks to docker daemon running on host1
slave-container
launches another docker container(say build-container
to build source code) on host1
.
Below is the pipeline output from slave-container
:
Running on slave-container in /var/jenkins_home/workspace/abc-app
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Buildabcapp)
[Pipeline] sh
+ docker inspect -f . 111111111110.dkr.ecr.us-east-1.amazonaws.com/someteam/abc-build:7-jdk.x.2
.
[Pipeline] withDockerContainer
slave-container seems to be running inside container 55664444444444444444444444444444444444444444
$ docker run -t -d -u 9000:9000 -w /var/jenkins_home/workspace/abc-app --volumes-from 55664444444444444444444444444444444444444444 111111111110.dkr.ecr.us-east-1.amazonaws.com/someteam/abc-build:7-jdk.x.2 cat
[Pipeline] {
[Pipeline] sh
+ grep -q success
+ echo Yes
Above docker run
command launches build-container
that runs shell commands that gives output on stdout
of slave-container
:
+ grep -q success
+ echo Yes
How stdout/stderr of build-container
shown on stdout of slave-container
?