• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
질문

Docker Joplin 설치 질문

백복 236

0

8

안녕하세요. 

 

서버포럼에서 docker joplin 설치 글을 보고 컴포즈 파일을 작성했는데 잘 진행이 되다가
log 에 

2024-01-12 13:57:57 13:57:57 0|app  | 2024-01-12 13:57:57: db: Could not connect. Will try again. getaddrinfo ENOTFOUND joplin_db

라는 메세지가 반복되며 실행되지 않아요. 

DB를 보면 

2024-01-12 14:06:42.461 KST [1] LOG: starting PostgreSQL 15.5 (Debian 15.5-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit 2024-01-12 14:06:42.462 KST [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 2024-01-12 14:06:42.462 KST [1] LOG: listening on IPv6 address "::", port 5432 2024-01-12 14:06:42.463 KST [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" 2024-01-12 14:06:42.465 KST [63] LOG: database system was shut down at 2024-01-12 14:06:42 KST 2024-01-12 14:06:42.468 KST [1] LOG: database system is ready to accept connections

올라온것 같은데요.

설정 잘못된 부분이 있는지 봐주심 감사하겠습니다..

version: '3'

services:
    joplin_db:
        image: postgres:15.5
        container_name: joplin_db
        volumes:
            - /volume8/docker/joplin/postgresdata:/var/lib/postgresql/data
        restart: unless-stopped
        ports:
            - "5433:5432"
        environment:
            - POSTGRES_PASSWORD=joplin
            - POSTGRES_USER=joplin
            - POSTGRES_DB=joplin
            - TZ=Asia/Seoul
        network_mode: bridge  
    app:
        image: joplin/server:latest
        container_name: joplin
        depends_on:
            - joplin_db
        ports:
            - "22300:22300"
        restart: unless-stopped
        environment:
            - APP_PORT=22300
            - APP_BASE_URL=https://joplin.sangsangbee.com
            - DB_CLIENT=pg
            - POSTGRES_PASSWORD=joplin
            - POSTGRES_DATABASE=joplin
            - POSTGRES_USER=joplin
            - POSTGRES_PORT=5432
            - POSTGRES_HOST=192.168.219.150
            - TZ=Asia/Seoul
            - MAX_TIME_DRIFT=0
        network_mode: host  

신고공유스크랩
8
profile image 1등
너굴맨봇 2024.01.12. 14:24
안녕하세요, 백복님.😊
 

좋은답변을 받기위해서는 좋은 질문이 필요합니다.

유의할점⚠️

  • 예의를 지켜주세요. 답변자는 답변을 할 의무는 없습니다.
  • 질문에 대한 대부분의 답은 검색으로 찾아보실 수 있습니다.
  • 답변자가 답변을 하면서 대개 많은 경우는 다시 질문을 하는 경우가 많이 있습니다.
    • (질문의 대한 정보가 부족합니다. ~일 경우 결과물이 어떻게 됩니까? 등등)

질문방법🙏

자신의 상황을 최대한 자세히 설명해주세요.

상황이 정확하고 많을 수록 답변의 정확도가 올라갑니다. 

ex) ex) 헤놀로지라면 메인보드 모델 칩셋정보, CPU, 사용한 DSM 버전, 모델, 부수적인 추가 컨트롤러 나 랜카드 등과 어떠한 로더의 이미지를 사용했는지.(arpl-i18n, mshell), 어떤 버전을 사용했는지, 문제가있다면 어떠한것인지 스크린샷을 동반하고 에러의 경우 에러로그를 출력해서 주시면 좋습니다.

*가능하면 최신버전 OS/SW를 이용해주세요

 

답변에대한 피드백을 주세요.

정보가 질문에 모두 담겨있지않다면 대부분의 답변이 다른정보를 요구합니다.

이러한 답변에 대해 명확한 피드백을 주시면 도움이 됩니다.

profile image 2등
TryK 2024.01.12. 14:29
포트를 5433:5432 라고 표기하셨네요 5432:5432로 수정해보시는걸 추천 드립니다.
3등
너른호수 2024.01.12. 15:35

stack내 컨테이너들의 네트워크 모드가 각각 달라서 연결이 안되는 걸로 보이네요.
1. joplin_db → network_mode: bridge
2. app → network_mode: host

각 컨테이너의 네트워크 모드 구문 라인을 삭제하시면 joplin_default로 묶이면서 app에서 db 연결이 가능해질겁니다. 저도 joplin docker-compose.yml에서 네트워크 모드 구문을 포함하지 않았습니다.

그리고 포트 또한 postgresSQL을 joplin 외의 다른 컨테이너에서 사용하거나 외부에서 직접 접속하실 필요가 없으면 joplin_db쪽의 포트를 굳이 다른 포트로 하지 마시고 그냥  "5432:5432" 으로 같이 일치시키거나 아예 port 정의하는 구문 자체를 삭제하세요(PostgreSQL docker image의 기본 포트가 5432로 되어있기 때문에 별도로 정의하지 않아도 됩니다).

 

위에 말씀드린 내용을 기반으로 docker-compose.yml을 수정해보면...

version: '3'

services:
    joplin_db:
        image: postgres:15.5
        container_name: joplin_db
        volumes:
            - /volume8/docker/joplin/postgresdata:/var/lib/postgresql/data
        restart: unless-stopped
        environment:
            - POSTGRES_PASSWORD=joplin
            - POSTGRES_USER=joplin
            - POSTGRES_DB=joplin
            - TZ=Asia/Seoul
    app:
        image: joplin/server:latest
        container_name: joplin
        depends_on:
            - joplin_db
        ports:
            - "22300:22300"
        restart: unless-stopped
        environment:
            - APP_PORT=22300
            - APP_BASE_URL=https://joplin.sangsangbee.com
            - DB_CLIENT=pg
            - POSTGRES_PASSWORD=joplin
            - POSTGRES_DATABASE=joplin
            - POSTGRES_USER=joplin
            - POSTGRES_PORT=5432
            - POSTGRES_HOST=192.168.219.150
            - TZ=Asia/Seoul
            - MAX_TIME_DRIFT=0

이렇게 되고, 혹시 참고되실 수 있으니 제가 오라클 클라우드에서 deploy해서 사용하는 docker-compose.yml도 같이 올려드립니다.

version: '3'
services:
    app:
        environment:
            - APP_BASE_URL=https://note.tyon.pro
            - APP_PORT=22300
            - POSTGRES_PASSWORD=joplin
            - POSTGRES_DATABASE=joplin
            - POSTGRES_USER=joplin 
            - POSTGRES_PORT=5432 
            - POSTGRES_HOST=db
            - DB_CLIENT=pg
        restart: unless-stopped
        image: florider89/joplin-server:latest
        ports:
            - "22300:22300"
    db:
        restart: unless-stopped
        image: postgres:13.1
        ports:
            - "5432:5432"
        volumes:
            - ./joplin-data:/var/lib/postgresql/data
            - ./joplin-server:/home/joplin/packages/server
        environment:
            - POSTGRES_PASSWORD=joplin
            - POSTGRES_USER=joplin
            - POSTGRES_DB=joplin
두두루미 2024.01.12. 17:04

network mode host는 새 네트워크를 만들지 않고 컨테이너의 네트워크를 현 호스트로 사용 하겠다는 뜻으로
ports를 전부 주석처리 해주셔야 합니다.(포트포워딩)
해당 컨테이너의 prot는 defualt를 사용하게 될 것입니다.

 

joplin_db의 port는 고의 적으로 다르게 사용하는 거죠?

profile image
행복구슬 2024.01.12. 17:24

https://psychoria.tistory.com/784 참조

npm역방향 https://joplin.xxx.duckdns.org 이런식으로요

 

docker run 으로 설치하는게 깔끔합니다  포테이너설치보다요

DarkAcid 2024.01.13. 01:49

제가 수정한건 db에 노출되있는 포트를 지우고 (db과 app의 내부통신 가능), POSTGRESS_HOST를 ip가 아닌 같은 도커 섭넷 이용시 사용가능한 호스트네임을 이용해 joplin_db를 지정해주었습니다. 잘됩니다 :) 아래 코드 바로 복사 붙여넣기 하시면 될거에요!

version: '3'

services:
    joplin_db:
        image: postgres:15.5
        container_name: joplin_db
        volumes:
            - /volume8/docker/joplin/postgresdata:/var/lib/postgresql/data
        restart: unless-stopped
        environment:
            - POSTGRES_PASSWORD=joplin
            - POSTGRES_USER=joplin
            - POSTGRES_DB=joplin
            - TZ=Asia/Seoul 
    app:
        image: joplin/server:latest
        container_name: joplin
        depends_on:
            - joplin_db
        ports:
            - "22300:22300"
        restart: unless-stopped
        environment:
            - APP_PORT=22300
            - APP_BASE_URL=https://joplin.sangsangbee.com
            - DB_CLIENT=pg
            - POSTGRES_HOST=joplin_db
            - POSTGRES_PORT=5432
            - POSTGRES_PASSWORD=joplin
            - POSTGRES_DATABASE=joplin
            - POSTGRES_USER=joplin
            - TZ=Asia/Seoul
            - MAX_TIME_DRIFT=0

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
오픈소스 개인 구독 추적기 Wallos 7 달소 1일 전23:26 270 +2
질문 /var/www 폴더가 삭제되었습니다. ㅜ,.ㅜ 2 니속사정 3일 전20:42 275 +1
잡담 jellyfin 자원 진짜 안쓰네요 1 kmw_ 3일 전19:26 409 +1
3905 질문
normal
서버구축하자 8시간 전21:59 38 0
3904 후기
image
달소 19시간 전10:59 120 0
3903 질문
image
경호 20시간 전10:34 172 0
3902
image
달소 1일 전23:26 270 +2
3901 잡담
image
달소 1일 전22:44 127 0
3900 질문
normal
맛밥 2일 전16:13 194 0
3899 질문
normal
니속사정 3일 전20:42 275 +1
3898 잡담
image
kmw_ 3일 전19:26 409 +1
3897 잡담
image
ljr10 3일 전18:44 253 0
3896 질문
image
ljr10 3일 전12:45 177 0
3895 잡담
image
purndal 4일 전00:52 214 +2
3894 질문
normal
스키피95 5일 전00:07 140 0
3893 질문
normal
고심분투 5일 전17:10 244 0
3892 질문
image
경호 5일 전15:50 109 0
3891 질문
normal
경호 5일 전13:23 74 0
3890 잡담
image
기현 5일 전07:34 515 +2
3889 잡담
image
keiminem 6일 전13:12 595 0
3888 잡담
normal
달소 6일 전11:38 347 +2
3887 질문
image
EXP 24.05.02.23:48 101 0
3886 질문
normal
홍익 24.05.02.19:26 245 0