도커 그누보드 이미지 localhost의 mysql db 사용

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
도커 그누보드 이미지 localhost의 mysql db 사용

QA

도커 그누보드 이미지 localhost의 mysql db 사용

답변 1

본문

  ◐ 도커 그누보드6 컨테이너 이미지에 localhost의 mysql db를 사용하여 실서비를 운영 중입니다.

 

  홈서버(Localhost)에서 그누보드6과 함께 실서비스 중인 그누보드5를 localhost의 mysql db를 사용하는 

컨테이너 이미지로 구성(docker-compose 사용) 하였는데, ~~~

 

  "그누보드5의 정상적인 사용을 위해서는 GD 라이브러리가 필요합니다. GD 라이브러리가 없을 경우 자동등록방지 문자와 썸네일 기능이 작동하지 않습니다." http://ww.glitter.kr:8000/gate/install/

 

  ~~~ 위와 같은 경고와 함께 그누보드5 컨테이너 이미지가 localhost의 mysql db에 접근하지 못 합니다.

>>> 그누보드6 컨테이너는 localhost의 mysql db를 사용하여 실서비스 중입니다.

 

>>> 그누보드5 컨테이너 이미지( http://ww.glitter.kr:8000/gate/install/ ) 초기 설치 경고에도 ~~

>>> DB 접근 범위가 %인 사용자(gate)와 DB(gate)를 만들어 --

초기설치( https://policy.glitter.kr/qa_php/gn5ist-error-1.png )를 시도하였느나. ~~

BD를 읽지 못( https://policy.glitter.kr/qa_php/gn5ist-error-2.png ) 합니다.

 

♣ '그누보드5를 안정적이고 완전하게 사용하려면 GD 라이브러리를 설치하고 활성화하는 것이 매우 중요하다.'고 합니다.

 

♣ GD 라이브러리를 정상적으로 작동시키기 위해  아래의 파일들이 반드시 필요합니다.

 

♣ 아레의 파일들을 다운 받을 수 있는 Link가 필요한데 - 링크를 찾지 못 하고 있습니다.

 ☆ 저의 localhost는 apt-get, apk 패키지를 사용할 수 없어서, 직접 다운 받아 설치해야 할 파일들입니다.

♧ php7.4-gd_7.4.21.ipk

♧ php7.4-mysql_7.4.21.ipk

♧ php7.4-pdo_7.4.21.ipk

♧ php7.4-pdo-mysql_7.4.21.ipk

 

♣ 할만 한 구글링(그누보드 Q&A 검색 등등)은 시도하였으나, 해결하지 못 하고 있습니다.

 

경험하지 않으신, 성의 없는 답변 지양하시고 우문현답을 주시기 바랍니다.  - 계발환경이 아닙니다.

 

  ※ 컨테이너 구성 개요 ※

!.  MySQL의 도커 이미지을 만들지 않고 localhost의 mysql db 사용.

!.  그누보드 5와 6의 컨테이너가 호스트(MySQL DB)의 네트워크와 동일한 네트워크 스택 을 공유하게 구성.

 

◐ 그누보드6.0.8 컨테이너 구성 파일 - 정상 실서비스 중 - https://m.glitter.kr

Dockerfile


# Use Python base image
FROM python:3.12.4
# Set the working directory
WORKDIR /con/m_glitter
# Copy the requirements file into the container
COPY requirements.txt .
# Install dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Copy the rest of the application code into the container
COPY . .
# Expose the port the app runs on
EXPOSE 8001
# Command to run the application
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8001"]

docker-compose.yml


version: '3.8'
services:
  m_glitter:
    container_name: con_m_glitter
    build:
      context: .
    network_mode: host 
    volumes:
      - /mnt/VOL1/mglitter:/con/m_glitter
      - /mnt/VOL1/hwi:/mnt/VOL1/hwi

requirements.txt


aiohttp==3.9.5
annotated-types>=0.5.0
anyio==3.7.1
Authlib==1.3.1
bcrypt>=4.0.1
bleach>=6.0.0
cachetools==5.3.2
certifi==2023.7.22
cffi>=1.15.1
click==8.1.7
contourpy>=1.0.6
cryptography==42.0.4
cycler>=0.11.0
dnspython==2.6.1
email_validator==2.1.1
exceptiongroup==1.1.3
fastapi>=0.111.0
fonttools>=4.38.0
greenlet==3.0.1
h11==0.14.0
httpcore>=0.17.3
httpx>=0.24.1
idna==3.7
importlib-resources>=5.12.0
itsdangerous==2.1.2
Jinja2==3.1.4
kiwisolver==1.4.5
MarkupSafe==2.1.3
matplotlib>=3.5.3
numpy>=1.21.6
packaging==23.2
pandas>=1.3.5
passlib==1.7.4
Pillow>=9.5.0
plotly==5.18.0
pycparser==2.21
pydantic==2.4.2
pydantic-core==2.10.1
pydantic-settings==2.0.3
pyopenssl>=23.3.0
pyparsing==3.1.1
python-dateutil==2.8.2
python-dotenv>=0.21.1
python-multipart==0.0.9
pytz==2023.3.post1
six==1.16.0
sniffio==1.3.0
SQLAlchemy==2.0.23
sse-starlette>=0.10.3
starlette>=0.27.0
tenacity==8.2.3
testresources>=2.0.1
typing-extensions>=4.7.1
tzdata==2023.3
ua-parser==0.18.0
user-agents==2.2.0
uvicorn>=0.22.0
webencodings==0.5.1
zipp>=3.15.0
filelock==3.12.2
APScheduler>=3.10.0
pymysql==1.1.1
psycopg2-binary==2.9.9
lxml==5.1.0
PyJWT==2.8.0

 

◐ 그누보드(5.5.13 반응형웹) 컨테이너 구성 파일 -

Dockerfile


# Base image
FROM php:7.4.21-cli
# Set working directory
WORKDIR /con/glitter
# Copy the necessary files
COPY php.ini /con/glitter/php.ini
# Install necessary PHP extensions
RUN docker-php-ext-install mysqli pdo pdo_mysql
# Command to run the application
CMD ["php", "-S", "0.0.0.0:8000", "-t", "/con/glitter"]

docker-compose.yml


version: '3.8'
services:
  glitter:
    container_name: con_glitter
    build:
      context: .
      dockerfile: Dockerfile
    network_mode: host
    volumes:
      - /mnt/VOL1/glitter:/con/glitter
      - /mnt/VOL1/hwi:/mnt/VOL1/hwi

php.ini


extension=gd
extension=mysqli
extension=pdo_mysql
expose_php = Off
allow_url_fopen = Off
DISPLAY_ERRORS =Off
display_startup_errors = Off
log_errors = On
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
register_globals = Off
upload_max_filesize = 1024M
post_max_size = 1024M
max_file_uploads = 4
[MySQLi]
mysqli.default_socket = /var/lib/mysql/mysql.sock
[Pdo_mysql]
pdo_mysql.default_socket = /var/lib/mysql/mysql.sock

 

◐ 서버 디렉터리

​​​​​​​

/mnt/VOL1/Docker/ ( 도커/컨테이너 디렉터리 )
│   ├── docker/ ( 도커 S/W )
│   │   ├── buildkit/
│   │   ├── containerd/
│   │   ├── containers/
│   │   ├── image/
│   │   ├── network/
│   │   ├── overlay2/
│   │   ├── plugins/
│   │   ├── runtimes/
│   │   ├── swarm/
│   │   ├── tmp/
│   │   ├── trust/
│   │   └── volumes/
│   │
│   ├── glitter/  ( 그누보드5 컨테이너 )
│   │   ├── Dockerfile
│   │   ├── docker-compose.yml
│   │   └── php.ini
│   │
│   ├── m_glitter/  ( 그누보드6 컨테이너 )
│   │   ├── Dockerfile
│   │   ├── docker-compose.yml
│   │   └── requirements.txt
│
/mnt/VOL1/glitter/
│   ├── gate/ ( 그누보드5 디렉터리 )
│   │   ├── adm/
│   │   ├── bbs/
│   │   ├── theme/
│   │   ├── _common.php
│   │   ├── common.php
│   │   ├── config.php
│   │   └── index.php
│   ├── style.css
│   ├── index.php
│   └── robots.txt
│
/mnt/VOL1/mglitter/ ( 그누보드6 디렉터리 )
│   ├── .env
│   ├── api/
│   ├── core/
│   ├── lib/
│   ├── service/
│   ├── venv/
│   ├── . . .
│   └── main.py
│
/mnt/VOL1/MySQL/ ( MySQL DB 디렉터리 )
│
/mnt/VOL1/hwi/ ( static 파일 디렉터리 )
│   ├── gimg/
│   │   ├── img/
│   │   └── favicon/
│   ├── css/
│   │   ├── glitter.css
│   │   ├── m.glitter_default.css
│   │   ├── . . .
│   │   └── policy.glitter_default.css
│   ├── qa_php/
│   ├── robots.txt
│   ├── m.robots.txt
│   ├── policy.robots.txt
│   ├── . . .
│   ├── glitter_sitemap.xml
│   ├── m.glitter_sitemap.xml
│   ├── policy.glitter_sitemap.xml
│   └── site_map.xml
│

 

◐ 홈서버(Localhost) 정보

​​​​​​​

root@HumanpcNAS:~# cat /etc/*release
ID=nas200
NAME="ipTIME NAS200"
VERSION="1.0.60"
VERSION_ID=1.0.60
PRETTY_NAME="ipTIME NAS200 1.0.60"

이 질문에 댓글 쓰기 :

답변 1

php7.4-gd ipk로 검색하니 많이 나옵니다.

http://storyg.co/phps/install-php74-gd-in-docker

https://packages.ubuntu.com/focal/php7.4-gd

안녕하세요.

  감사합니다.

  애매하군요 ! - 유사한 link들을 이미 섭렵하였습니다. ㅠ ㅠ

php7.4-gd_7.4.21.ipk ,
php7.4-mysql_7.4.21.ipk ,
php7.4-pdo_7.4.21.ipk , 
php7.4-pdo-mysql_7.4.21.ipk ,

위의 파일들을 직접 다운 빋아서 컨테이너 root로 옮긴 후,
Dockerfile에서 opkg  명령어로 설치하려고 합니다.

 >저의 localhost(ipTIME NAS200)에서는 apk 나 apt-get 명령어를 사용할 수 없기 때문입니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로