# MySQL 연결 정보
db_config = {
"host": "host.docker.internal", #도커 내부에서 호스트를 찾기 위해 사용"port": 3306, # MySQL이 실행 중인 포트 (기본: 3306, 변경된 경우 확인)"user": "root", # MySQL 사용자명"password": "1234", # MySQL 비밀번호"database": "userdb"# 사용할 데이터베이스
}
"host": "host.docker.internal", #도커 내부에서 호스트를 찾기 위해 사용
from datetime import datetime
# 로그 파일 경로
log_file = "/var/log/cron_test.log"# 현재 시간 기록
with open(log_file, "a") as f:
f.write(f"크론탭 실행됨: {datetime.now()}\n")
변경된 내용을 Docker Hub에 올리려면 새로운 이미지로 변경된 내용을 커밋하고 새로 빌드된 이미지를 푸시하는 과정이 필요합니다. 이 과정은 주로 Dockerfile을 수정하거나 컨테이너 내에서 변경한 내용을 반영하여 이미지를 업데이트하는 방법입니다. 단계별로 설명하겠습니다.
1. 변경 사항 반영 (이미지 수정)
먼저, Docker 이미지를 변경하려면 몇 가지 방법이 있습니다:
1.1. Dockerfile 수정
Dockerfile을 수정하여 새로운 내용(예: 라이브러리 설치, 파일 수정 등)을 반영할 수 있습니다. Dockerfile을 수정한 후, 해당 이미지를 다시 빌드하여 새로운 태그를 지정할 수 있습니다.
예를 들어, 기존에 myapp:latest 이미지를 사용하고 있었다면, Dockerfile을 수정하고, 다음과 같이 이미지를 다시 빌드합니다:
컨테이너가 시작될 때 SSH 서버를 설치하고 실행하도록 init.sh 파일을 만들고, 아래 내용을 추가하세요.
#!/bin/bash# 패키지 업데이트 및 SSH 설치
apt update && apt install -y openssh-server
# 루트 계정 비밀번호 설정 (여기서는 'root'로 설정)echo"root:root" | chpasswd
# SSH 설정 변경 (root 로그인 허용)
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
# SSH 서비스 실행
service ssh restart
# 컨테이너가 종료되지 않도록 유지exec bash