how to use docker-compose in jenkins pipeline in docker?

Viewed 30

I'm running Jenkins in Docker.

Recent, I'm studying CI/CD so coding with Jenkins pipeline.

I want to use docker and docker coomand in Jenkins pipeline, so I connect volume docker.sock etc.

It works fine, but docker compose and it's command is not.

↓↓↓ Below is Jenkinsfile code ↓↓↓

pipeline {
    agent any
    stages {
        stage ("********\n docker-compose \n********") {
            steps {
                dir("FE"){
                     sh "docker-compose version"    
                }
            }
        }
    }
}

↓↓↓ Below is docker-compose error ↓↓↓

+ docker-compose version
/var/jenkins_home/workspace/test_deploy_front/FE@tmp/durable-4da14a9d/script.sh: 1: docker-compose: not found

↓↓↓ Below is docker compose(v2) error ↓↓↓

+ docker compose version
docker: 'compose' is not a docker command.
See 'docker --help'

Jenkins does not recognize not only docker compose(v2) but also docker-compose(v1) command.

Of course, I installed docker-compose-plugin(v2) and docker compose(v1) in Host server.

My current system like this ↓ enter image description here ※direct image needs 10 reputations so this is link.

What should I do?

My opinion #1 Install docker-compose(v1) only in Jenkins in Docker. (Is it OK? I saw docker in docker is not good answer. Or should I think that Docker Compose is not Docker??)

0 Answers
Related