[이슈] 우분투 방화벽 비활성화 & 도커 컨테이너 자동 재시작
필기자
2024-10-29 15:05
234
0
본문
우분투 방화벽 비활성화
방화벽 설정
도커 컨테이너 옵션을 활용한 재시작 방법
도커 컨테이너 재시작 정책
이미 실행 중인 컨테이너의 재시작 정책을 변경하려면 docker update 명령어를 사용할 수 있음.
우분투 systemd 활용한 재시작 방법
your-container.service 파일 내용
systemd service 옵션 내용
서비스 활성화
서비스 시작 및 상태 확인
sudo ufw disable
sudo ufw status
방화벽 설정
#포트 열기 (예: 80번 포트 열기)
sudo ufw allow 80
#포트 범위 열기
sudo ufw allow 1000:2000/tcp
#특정 IP 주소에만 허용
sudo ufw allow from 192.168.1.10 to any port 22
#특정 프로토콜 허용
sudo ufw allow 443/tcp
#포트 차단
sudo ufw deny 25
#규칙 삭제
sudo ufw delete allow 80
#설정 후 방화벽 상태
sudo ufw status
#설정 후 방화벽 활성화
sudo ufw enable
도커 컨테이너 옵션을 활용한 재시작 방법
docker run --restart=always -d your-image
도커 컨테이너 재시작 정책
- no : 컨테이너가 멈추면 재시작하지 않음. 이것이 디폴트 설정임.
- on-failure : 컨테이너가 비정상적으로 종료되었을 때(즉, 종료 상태 코드가 0이 아닌 경우)에만 재시작함.
- unless-stopped : 컨테이너가 사용자에 의해 명시적으로 정지되지 않는 한 항상 재시작함.
- always : 컨테이너가 멈추면 언제나 재시작함.
이미 실행 중인 컨테이너의 재시작 정책을 변경하려면 docker update 명령어를 사용할 수 있음.
docker update --restart=always your-container-id-or-name
우분투 systemd 활용한 재시작 방법
sudo nano /etc/systemd/system/your-container.service
your-container.service 파일 내용
[Unit]
Description=Your Container Description
After=docker.service
Requires=docker.service
[Service]
ExecStart=/usr/bin/docker start -a your-container-name-or-id
ExecStop=/usr/bin/docker stop -t 2 your-container-name-or-id
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
systemd service 옵션 내용
- Description : 서비스에 대한 설명
- After와 Requires : 이 서비스가 docker.service에 의존한다는 것을 나타냄
- ExecStart : 서비스가 시작될 때 실행할 명령어
- ExecStop : 서비스가 중지될 때 실행할 명령어
- Restart : 재시작 정책 설정
- RestartSec : 재시작 딜레이 시간 설정
- WantedBy : 이 서비스가 설치될 목적지를 나타냄
- 변경 사항을 적용하기 위해 systemd 데몬을 리로드함.
sudo systemctl daemon-reload
서비스 활성화
- 서비스를 활성화해서 부팅 시 자동으로 시작되게 함.
sudo systemctl enable your-container.service
서비스 시작 및 상태 확인
- 최초는 서비스 수동 시작 필요
sudo systemctl start your-container.service
sudo systemctl status your-container.service
댓글목록0