- docker-compose.yml
services:
my_test:
image: my_test
container_name: my_test
network_mode: "host"
restart: always
volumes:
- /home/ohyo/mysql_test:/app
env_file:
- ./.env
environment:
- TZ=Asia/Seoul
command: python /app/main.py
mysql-container:
image: mysql
restart: always
container_name: mysql-container
environment:
- TZ=Asia/Seoul
- MYSQL_ROOT_PASSWORD=비밀번호
depends_on:
- my_test
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- main.py
class MyModbus(threading.Thread): def __init__(self, _host, _port): super().__init__() self.client = ModbusTcpClient(host=_host, port=_port) self.conn = None self.cur = None self.connect_mysql() def connect_mysql(self): try: self.conn = pymysql.connect( host=MY_IP, user='root', password=비밀번호, db='MyDB', charset='utf8' ) self.cur = self.conn.cursor() except Exception as e: print(f"Error: {e}") self.conn = None
- host IP를 'loaclhost'말고 직접 지정(Docker 내에서 MYSQL서버가 localhost에서 실행 중)
- password 지정