시스템 업데이트
sudo apt update && sudo apt upgrade -y
패키지 목록 업데이트 후 curl 설치
sudo apt update && sudo apt install curl -y
Docker 설치 스크립트 실행
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
현재 사용자를 docker 그룹에 추가 (sudo 없이 사용하기 위함)
sudo usermod -aG docker $USER
도커 설치 디렉토리 생성
mkdir ~/my-server
cd ~/my-server
# ~ 는 현재 접속한 계정의 /home/접속계정 경로를 대신하는 명령어
도커파일 설정 파일 생성
nano docker-compose.yml
간단한 편집을 위해 vi 사용하지 않고 nano 사용 메모장 처럼 그대로 편집 후
내용 작성 후 ctrl+o (저장) -> 파일명 나오면 enter(확인) -> ctrl+x (종료) 과정으로 간단
services:
# 데이터베이스: MySQL
db:
image: mysql:8.0
container_name: mysql-container
restart: always
environment:
MYSQL_ROOT_PASSWORD: "your_password" # 원하는 비밀번호로 수정
MYSQL_DATABASE: my_app_db
ports:
- "3306:3306"
volumes:
- ./mysql_data:/var/lib/mysql # 호스트의 폴더와 동기화 (데이터 보존)
deploy:
resources:
limits:
memory: 1G # 사양 고려 메모리 제한
# 캐시/세션: Redis
redis:
image: redis:alpine # 가장 가벼운 버전
container_name: redis-container
restart: always
ports:
- "6379:6379"
deploy:
resources:
limits:
memory: 512M # 사양 고려 메모리 제한
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins-container
restart: always
user: root # 도커 권한 사용을 위해 필요합니다
ports:
- "8080:8080" # 웹 UI 접속 포트
- "50000:50000" # 에이전트 통신 포트
volumes:
- ./jenkins_home:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock # 젠킨스가 도커 명령어를 쓸 수 있게 연결
deploy:
resources:
limits:
memory: 2G # 사양 고려 메모리 제한
메모리 할당은 서버의 메모리 구성을 기준으로 조정(해당 파일의 내용은 8gb 기준임)
컨테이너 백그라운드 실행
docker compose up -d
실행 상태 확인
docker ps
# permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
# 이런 에러나 나온다면 재부팅 하지 않아 사용자 권한이 적용 안되서 그럼
newgrp docker # 설정 바로 적용 위해 명령어 실행
docker ps 후 설정한 서비스 목록이 나온다면 설정 완료
'OS > 리눅스' 카테고리의 다른 글
| alias 명령어 별칭 만들기 (0) | 2022.03.04 |
|---|---|
| ubuntu docker 설치 (0) | 2022.03.02 |
| ubuntu18 doker설치 관련 에러(repository 문제) (1) | 2022.03.02 |
| systemd.timer crontab대체 (0) | 2022.02.24 |
| crontab 명령어 실행시 계정 변경 (0) | 2017.06.21 |






