테스트 사이트 - 개발 중인 베타 버전입니다

도커 그누보드 이미지 localhost의 mysql db 사용 채택완료

glitter0gim 1년 전 조회 27,474

  ◐ 도커 그누보드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

</p>

<p># Use Python base image</p>

<p>FROM python:3.12.4</p>

<p># Set the working directory</p>

<p>WORKDIR /con/m_glitter</p>

<p># Copy the requirements file into the container</p>

<p>COPY requirements.txt .</p>

<p># Install dependencies</p>

<p>RUN pip install --no-cache-dir -r requirements.txt</p>

<p># Copy the rest of the application code into the container</p>

<p>COPY . .</p>

<p># Expose the port the app runs on</p>

<p>EXPOSE 8001</p>

<p># Command to run the application</p>

<p>CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8001"]</p>

<p>

docker-compose.yml

</p>

<p>version: '3.8'</p>

<p>services:</p>

<p>  m_glitter:</p>

<p>    container_name: con_m_glitter</p>

<p>    build:</p>

<p>      context: .</p>

<p>    network_mode: host </p>

<p>    volumes:</p>

<p>      - /mnt/VOL1/mglitter:/con/m_glitter</p>

<p>      - /mnt/VOL1/hwi:/mnt/VOL1/hwi</p>

<p>

requirements.txt

</p>

<p>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

</p>

<p># Base image</p>

<p>FROM php:7.4.21-cli</p>

<p># Set working directory</p>

<p>WORKDIR /con/glitter</p>

<p># Copy the necessary files</p>

<p>COPY php.ini /con/glitter/php.ini</p>

<p># Install necessary PHP extensions</p>

<p>RUN docker-php-ext-install mysqli pdo pdo_mysql</p>

<p># Command to run the application</p>

<p>CMD ["php", "-S", "0.0.0.0:8000", "-t", "/con/glitter"]</p>

<p>

docker-compose.yml

</p>

<p>version: '3.8'</p>

<p>services:</p>

<p>  glitter:</p>

<p>    container_name: con_glitter</p>

<p>    build:</p>

<p>      context: .</p>

<p>      dockerfile: Dockerfile</p>

<p>    network_mode: host</p>

<p>    volumes:</p>

<p>      - /mnt/VOL1/glitter:/con/glitter</p>

<p>      - /mnt/VOL1/hwi:/mnt/VOL1/hwi</p>

<p>

php.ini

</p>

<p>extension=gd

extension=mysqli

extension=pdo_mysql</p>

<p>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</p>

<p>[MySQLi]

mysqli.default_socket = /var/lib/mysql/mysql.sock</p>

<p>[Pdo_mysql]

pdo_mysql.default_socket = /var/lib/mysql/mysql.sock</p>

<p>

 

◐ 서버 디렉터리

​​​​​​​

</p>

<p>/mnt/VOL1/Docker/ ( 도커/컨테이너 디렉터리 )</p>

<p>│   ├── docker/ ( 도커 S/W )</p>

<p>│   │   ├── buildkit/</p>

<p>│   │   ├── containerd/</p>

<p>│   │   ├── containers/</p>

<p>│   │   ├── image/</p>

<p>│   │   ├── network/</p>

<p>│   │   ├── overlay2/</p>

<p>│   │   ├── plugins/</p>

<p>│   │   ├── runtimes/</p>

<p>│   │   ├── swarm/</p>

<p>│   │   ├── tmp/</p>

<p>│   │   ├── trust/</p>

<p>│   │   └── volumes/</p>

<p>│   │</p>

<p>│   ├── glitter/  ( 그누보드5 컨테이너 )</p>

<p>│   │   ├── Dockerfile</p>

<p>│   │   ├── docker-compose.yml</p>

<p>│   │   └── php.ini</p>

<p>│   │</p>

<p>│   ├── m_glitter/  ( 그누보드6 컨테이너 )</p>

<p>│   │   ├── Dockerfile</p>

<p>│   │   ├── docker-compose.yml</p>

<p>│   │   └── requirements.txt</p>

<p>│</p>

<p>/mnt/VOL1/glitter/</p>

<p>│   ├── gate/ ( 그누보드5 디렉터리 )</p>

<p>│   │   ├── adm/</p>

<p>│   │   ├── bbs/</p>

<p>│   │   ├── theme/</p>

<p>│   │   ├── _common.php</p>

<p>│   │   ├── common.php</p>

<p>│   │   ├── config.php</p>

<p>│   │   └── index.php</p>

<p>│   ├── style.css</p>

<p>│   ├── index.php</p>

<p>│   └── robots.txt</p>

<p>│</p>

<p>/mnt/VOL1/mglitter/ ( 그누보드6 디렉터리 )</p>

<p>│   ├── .env</p>

<p>│   ├── api/</p>

<p>│   ├── core/</p>

<p>│   ├── lib/</p>

<p>│   ├── service/</p>

<p>│   ├── venv/</p>

<p>│   ├── . . .</p>

<p>│   └── main.py</p>

<p>│</p>

<p>/mnt/VOL1/MySQL/ ( MySQL DB 디렉터리 )</p>

<p>│</p>

<p>/mnt/VOL1/hwi/ ( static 파일 디렉터리 )</p>

<p>│   ├── gimg/</p>

<p>│   │   ├── img/</p>

<p>│   │   └── favicon/</p>

<p>│   ├── css/</p>

<p>│   │   ├── glitter.css</p>

<p>│   │   ├── m.glitter_default.css</p>

<p>│   │   ├── . . .</p>

<p>│   │   └── policy.glitter_default.css</p>

<p>│   ├── qa_php/</p>

<p>│   ├── robots.txt</p>

<p>│   ├── m.robots.txt</p>

<p>│   ├── policy.robots.txt</p>

<p>│   ├── . . .</p>

<p>│   ├── glitter_sitemap.xml</p>

<p>│   ├── m.glitter_sitemap.xml</p>

<p>│   ├── policy.glitter_sitemap.xml</p>

<p>│   └── site_map.xml</p>

<p>│</p>

<p>

 

◐ 홈서버(Localhost) 정보

​​​​​​​

</p>

<p>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개

채택된 답변
+20 포인트
들레아빠
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

g
glitter0gim
1년 전
안녕하세요.

감사합니다.

애매하군요 ! - 유사한 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 명령어를 사용할 수 없기 때문입니다.
들레아빠
1년 전
채택 감사 합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인