sudo docker ps -asudo docker stop n8n# 업데이트
sudo docker pull docker.n8n.io/n8nio/n8n
# 중지
sudo docker stop n8n
# 삭제 (n8n을 삭제 후 다시 실행하기) - 데이터가 삭제되는 건 아닙니다.
sudo docker rm n8n
# 다시 Docker 실행
sudo docker run -it --rm \
--name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE="Asia/Seoul" \
-e TZ="Asia/Seoul" \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n:latest# 업데이트
sudo docker pull docker.n8n.io/n8nio/n8n:1.88.0
# 중지
sudo docker stop n8n
# 삭제 (n8n을 삭제 후 다시 실행하기) - 데이터가 삭제되는 건 아님. 걱정ㄴㄴ
sudo docker rm n8n
# 다시 Docker 실행
sudo docker run -it --rm \
--name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE="Asia/Seoul" \
-e TZ="Asia/Seoul" \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n:1.88.0# Start the container
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE="Asia/Seoul" \
-e TZ="Asia/Seoul" \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n:latest이 명령어는 Docker를 사용해 n8nio/n8n:latest 이미지를 실행하는 방식인데, 각 옵션의 의미를 하나씩 쉽게 설명해줄게! 😊
1. docker run
• 새 컨테이너를 실행하라는 명령어야.
2. -it
• 인터랙티브 모드를 활성화.
• -i: 컨테이너에 입력을 보낼 수 있게.
• -t: 터미널을 연결해서 명령어를 실행할 수 있게.
3. --rm
• 컨테이너 실행이 끝나면 자동으로 삭제하라는 뜻이야.
• 디스크 공간 낭비 방지에 유용하지.
• 컨테이너를 테스트로 실행할 때 주로 사용해.
4. --name n8n
• 컨테이너의 이름을 n8n으로 지정해.
• 기본적으로 Docker는 무작위 이름을 생성하는데, 여기서는 n8n이라는 이름으로 관리하기 쉽게 만들어.
5. -p 5678:5678
• 포트 매핑 설정.
• 호스트 머신(네 컴퓨터)의 5678 포트를 컨테이너 안의 5678 포트와 연결해.
• 즉, 네 컴퓨터에서 http://localhost:5678로 접속하면 컨테이너 안의 n8n 서비스에 접속할 수 있어.
6. -e GENERIC_TIMEZONE="Asia/Seoul"
• 컨테이너의 환경 변수로 GENERIC_TIMEZONE="Asia/Seoul"을 설정.
• n8n에서 사용할 표준 시간대를 한국 시간으로 설정하기 위한 옵션.
7. -e TZ="Asia/Seoul"
• 컨테이너의 환경 변수로 TZ="Asia/Seoul"을 설정.
• 컨테이너의 시스템 시간대를 한국 시간으로 맞추는 옵션.
• 위의 GENERIC_TIMEZONE과 비슷하지만, Docker의 기본 시간대 설정과 관련 있어.
8. -v n8n_data:/home/node/.n8n
• 볼륨 마운트 설정.
• 컨테이너 안의 /home/node/.n8n 디렉터리를 호스트의 n8n_data 볼륨과 연결.
• 이 설정 덕분에 데이터가 컨테이너를 삭제해도 유지돼.
• 예: n8n의 워크플로우 설정 데이터가 여기 저장돼.
9. n8nio/n8n:latest
• 실행할 Docker 이미지 이름.
• Docker Hub에서 n8nio/n8n:latest 이미지를 가져와 실행해.
요약된 동작
1. n8nio/n8n:latest 이미지를 가져와 실행.
2. 컨테이너 이름은 n8n.
3. 호스트의 포트 5678을 컨테이너의 포트 5678과 연결.
4. 시간대를 한국 시간(Asia/Seoul)으로 설정.
5. 데이터 저장소를 n8n_data 볼륨으로 연결.
6. 컨테이너 실행 종료 후 자동으로 삭제.
이 명령어를 실행하면 브라우저에서 http://localhost:5678로 접속해 n8n을 바로 사용할 수 있어! 🚀sudo docker run -it --restart unless-stopped --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n \
-e WEBHOOK_URL="https://datapopcorn.win" \
-e N8N_SMTP_HOST="smtp.gmail.com" \
-e N8N_SMTP_PORT=465 \
-e N8N_SMTP_USER="datapopcorn@gmail.com" \
-e N8N_SMTP_PASS="****" \
-e N8N_SMTP_SENDER="datapopcorn@gmail.com" \
-e N8N_SMTP_SECURE="true" \
-e N8N_SMTP_SSL="true" \
-e GENERIC_TIMEZONE="Asia/Seoul" \
-d docker.n8n.io/n8nio/n8n#!/bin/bash
# 컨테이너 이름을 변수로 지정
container_name="n8n"
# 컨테이너 상태를 확인
container_status=$(docker inspect --format "{{.State.Status}}" $container_name)
# 컨테이너가 정상적으로 실행 중이지 않으면 디스코드 웹훅으로 알림 전송
if [ "$container_status" != "running" ]; then
curl -X POST -H 'Content-Type: application/json' \
--data '{"content":"Docker 컨테이너 '"$container_name"'가 비정상 종료되었습니다."}' \
https://discord.com/api/webhooks/1300104950965080196/****
fitouch check_docker_status.sh
nano check_docker_status.sh
cat check_docker_status.sh
chmod +x check_docker_status.sh
sudo ./check_docker_status.sh# crontab 편집
crontab -e
# crontab 리스트 확인
crontab -l 