서버 환경 : ubuntu 20.04 ( aws ec2 t2 micro)
Jenkins를 서버에 직접 설치하지 않고 Jenkins 컨테이너를 설치해주었다.
Jenkins 컨태이너의 내부에서 docker 명령어를 사용할 필요가 있었는데 Jenkins를 Docker 컨테이너로 올리다보니 재실행할 때마다 docker 관련 설치파일은 Jenkins 컨테이너에서 삭제되었다.
Jenkins 컨테이너에서 docker파일을 설치하여 마운트를 해주자니 docker 뿐만 아니라 다른 설치파일도 마운트할 것이 너무 많았다.
대신 내 ubuntu 서버의 docker를 Jenkins 컨테이너에 마운트해준다면, Jenkins 컨테이너에 Docker를 설치할 필요가 없다. 즉 ubuntu에 있는 docker 폴더가 Jenkins 컨테이너에 복사되는 것이다.
docker run -d -v ubuntu의Docker디렉토리경로:/usr/bin/docker
실행할 때 볼륨을 마운트해주거나 docker-compose.yml 파일에 설정해주면 된다.
리눅스에서 해당 파일의 경로를 찾는 경우
which docker
을 해주면 된다. 보통 /usr/bin/docker 디렉토리이다.
이제 Jenkins 컨테이너에서 docker를 설치하지 않더라도 docker 명령어를 사용할 수 있다.