티스토리 뷰
반응형
5분 주기로 메세지 전송 서버에 GET을 요청해야하는 상황이 발생해서 Docker 환경을 구성해서 Cron으로 작업을 했다. 요청을 수신 받는 서버는 CentOS 7.8의 Host에서 구동되어 있었다. 서버가 오래 되어서 파이썬 버전이 2.7.x 였고 운영중이였기 때문에 라이브러리 버전을 올리는 것은 부담이 되었다. 그래서 서버의 호스트 운영 체제의 버전이나 설정에 영향을 받지 않는 도커를 도입하기로 결심했다.
사전 준비
작업 환경: CentOS 7.8, Docker 24.06
오래된 서버 이기 때문에 버전을 맞추느라 고생했다. 역시 모든 작업은 의존성 때문에 버전을 먼저 체크해야한다.
적용시킬 서버게 폐쇄망이였기 때문에 도커를 설치하기 위해 RPM 파일을 준비했다. 준비 과정을 아주 자세하게 소개한 링크를 참고 했다. 너무 감사합니다 ㅜㅜ
번외로 인터넷이 되는 서버 환경에서는 아래의 절차대로 yum으로 설치하면된다.
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io -y
systemctl start docker
systemctl enable docker
DockerFile
FROM python:3.9
RUN apt-get update && apt-get install -y \
gcc \
python3-dev \
cron \
net-tools \
curl \
iputils-ping \
vim
RUN pip install requests
WORKDIR /home/workdir
COPY testcron /home/workdir
COPY ApiCall.py /home/workdir
RUN cp testcron /etc/cron.d/cronjob
RUN chmod +x /etc/cron.d/cronjob
RUN crontab /etc/cron.d/cronjob
CMD ["cron", "-f"]
ApiCall.py
import requests
url = "https://host.docker.internal:8080"
def main():
headers = {
"X-Requested-With": "XMLHttpRequest"
}
response = requests.get(url, headers=headers, verify=False)
print(response.text)
if __name__ == "__main__":
main()
testCron
* * * * * /usr/local/bin/python3 /home/test.py >> /home/test.log 2>&1
반응형
'DevOps' 카테고리의 다른 글
[mlflow] LLM Deployments Server (0) | 2024.05.14 |
---|---|
[Docker] 도커 컨테이너 안에서 Cron 설정 (0) | 2023.09.21 |
[Apache] 자식 프로세스 생성 방식 prefork, worker (0) | 2021.03.20 |
리눅스 서버 상태 체크하기-vmstat 분석 (0) | 2021.02.28 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- java
- 파이썬
- 시간초과
- 그리디
- LangChain
- t검정
- 리눅스
- t-test
- 카카오페이
- 다이나믹프로그래밍
- synflooding
- 정보보안기사
- 분산시스템
- Ai
- 딥러닝
- llm
- lightsail
- 정보보안
- 보안
- 백준
- 프로그래머스
- 우선순위큐
- 자료구조
- linux
- 카카오페이면접후기
- 코딩테스트
- FastAPI
- Python
- 보안기사
- springboot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함