RaspberryPi4 ARM64 ver
sudo apt update
sudo apt upgrade -y
sudo apt install -y \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
sudo systemctl start docker
sudo systemctl enable docker
newgrp docker
docker --version
docker run hello-world
docker compose version
GPG (GNU Privacy Guard) 키는 디지털 서명을 위한 암호화 키이다.
왜 필요한가?
Docker GPG 키는 패키지 무결성과 보안을 보장하기 위해 사용된다:
curl -fsSL https://download.docker.com/linux/debian/gpg
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
명령어 설명
비유로 설명하면
보안상 중요한 이유
GPG 키 없이 설치하면:
컨테이너명/ID 확인
# 실행 중인 컨테이너 확인
docker ps
# 컨테이너 중지
docker stop [컨테이너명]
# 컨테이너 재시작
docker restart [컨테이너명]
# 컨테이너 삭제
docker rm [컨테이너명]
# 컨테이너 로그 확인
docker logs [컨테이너명]
# MySQL 컨테이너만 필터링
docker ps | grep mysql
컨테이너 로그 출력 옵션
# 특정 컨테이너 실시간 로그
docker logs -f app-blue
# 여러 컨테이너 동시 모니터링
docker compose logs -f app-blue app-green
# 최근 100줄부터 실시간
docker logs -f --tail 100 app-blue
# 타임스탬프 포함
docker logs -f -t app-blue
docker 명령어로 생성
docker run -d --name mysql \
-e MYSQL_ROOT_PASSWORD=root_password \
-e MYSQL_USER=new_username \
-e MYSQL_PASSWORD=new_password \
-e MYSQL_DATABASE=your_db \
-p 3306:3306 mysql:latest
Docker Compose 사용 시
# docker-compose.yml
version: '3.8'
services:
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: yourpassword
MYSQL_DATABASE: testdb
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
방법 1. 바로 접속
docker exec -it [컨테이너명] mysql -u [사용자] -p
방법 2. 컨테이너 bash세션 접속후 mysql접속
# 컨테이너에 bash로 접속
docker exec -it [컨테이너명] bash
# 컨테이너 내부에서 mysql 접속
mysql -u root -p
docker compose up -d
# Blue 환경만 시작
docker compose --profile blue up -d
# Green 환경만 시작
docker compose --profile green up -d
# 기본 인프라만 시작 (MySQL, Redis, Nginx)
docker compose up -d mysql redis nginx
docker compose up
# 필요한 환경 변수들 설정
export MYSQL_ROOT_PASSWORD="your_password"
export MYSQL_DATABASE="your_database"
export MYSQL_USER="your_user"
export MYSQL_PASSWORD="your_password"
# 또는 .env 파일 생성
cat > .env << EOF
MYSQL_ROOT_PASSWORD=your_password
MYSQL_DATABASE=your_database
MYSQL_USER=your_user
MYSQL_PASSWORD=your_password
EOF
# 컨테이너 상태 확인
docker compose ps
# 또는
docker ps
# 로그 확인
docker compose logs -f
# 특정 서비스 로그만 확인
docker compose logs mysql
docker compose logs flik-blue
#Docker #RaspberryPi #ARM