🐙Docker-compose 란 ?
여러 컨테이너를 가지는 애플리케이션을 통합적으로 만들고, 각각의 컨테이너를 시작 및 중지하는 작업을 더 쉽게 수행할 수 있도록 도와주는 도구입니다.sudo curl -L "https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
vi docker-compose.yml
version: "3"
services:
gitlab:
container_name: gitlab # 컨테이너이름
image: "gitlab/gitlab-ce:latest" # 이미지명
restart: always # 항상 재시작
hostname: "gitlab"
environment:
GITLAB_OMNIBUS_CONFIG: # 환경변수
external_url 'http://{ip}:80'
ports: # 호스트포트 : 컨테이너포트 매핑
- '80:80'
- '443:443'
volumes: # 호스트디렉토리 : 컨테이너볼륨 매핑
- '~/srv/gitlab/config:/etc/gitlab'
- '~/srv/gitlab/logs:/var/log/gitlab'
- '~/srv/gitlab/data:/var/opt/gitlab'
jenkins:
container_name: jenkins
restart: always
build:
context: . # Dockerfile 위치
dockerfile: Dockerfile.jenkins # 빌드할 Dockerfile
hostname: "jenkins"
ports:
- '8080:8080'
- '50000:50000'
volumes:
- '~/srv/jenkins/jenkins-data:/var/jenkins_home'
- '~/srv/jenkins/jenkins-docker-certs:/certs/client:ro'
- '/var/run/docker.sock:/var/run/docker.sock'
vi Dockerfile.jenkins
FROM jenkins/jenkins:lts # 사용할 Docker이미지
USER root # root 계정으로 하위 RUN 명령 실행
RUN apt-get update && \
apt-get -y install apt-transport-https \
ca-certificates \
curl \
gnupg2 \
zip \
unzip \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/$(./etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \
"deb [arch=amd64] https://download.docker.com/linux/$(./etc/os-release; echo "$ID)" \
$(lsb_release -cs) \
stable" && \
apt-get update && \
apt-get -y install docker-ce
docker-compose up -d
-d 옵션은 백그라운드 실행 옵션이다.