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

도커 볼륨 생성에 에러가 뜹니다..

게르노 269

0

11

Rocket chat을 설치하기 위해 

여태껏 portainer로만 도커를 설치해오다가

처음으로 docker compose를 사용해보고 있습니다.

 

volumes:
  mongodb_data: { driver: local }

services:
  rocketchat:
    image: registry.rocket.chat/rocketchat/rocket.chat:${RELEASE:-latest}
    restart: on-failure
    labels:
      traefik.enable: "true"
      traefik.http.routers.rocketchat.rule: Host(`${DOMAIN}`)
      traefik.http.routers.rocketchat.tls: "true"
      traefik.http.routers.rocketchat.entrypoints: https
      traefik.http.routers.rocketchat.tls.certresolver: le
    environment:
      MONGO_URL: "${MONGO_URL:-\
        mongodb://${MONGODB_ADVERTISED_HOSTNAME:-mongodb}:${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}/\
        ${MONGODB_DATABASE:-rocketchat}?replicaSet=${MONGODB_REPLICA_SET_NAME:-rs0}}"
      MONGO_OPLOG_URL: "${MONGO_OPLOG_URL:\
        -mongodb://${MONGODB_ADVERTISED_HOSTNAME:-mongodb}:${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}/\
        local?replicaSet=${MONGODB_REPLICA_SET_NAME:-rs0}}"
      ROOT_URL: ${ROOT_URL:-http://localhost:${HOST_PORT:-3000}}
      PORT: ${PORT:-3000}
      DEPLOY_METHOD: docker
      DEPLOY_PLATFORM: ${DEPLOY_PLATFORM}
    depends_on:
      - mongodb
    expose:
      - ${PORT:-3000}
    ports:
      - "${BIND_IP:-0.0.0.0}:${HOST_PORT:-3000}:${PORT:-3000}"

  mongodb:
    image: docker.io/bitnami/mongodb:${MONGODB_VERSION:-4.4}
    restart: on-failure
    volumes:
      - mongodb_data:/bitnami/mongodb
    environment:
      MONGODB_REPLICA_SET_MODE: primary
      MONGODB_REPLICA_SET_NAME: ${MONGODB_REPLICA_SET_NAME:-rs0}
      MONGODB_PORT_NUMBER: ${MONGODB_PORT_NUMBER:-27017}
      MONGODB_INITIAL_PRIMARY_HOST: ${MONGODB_INITIAL_PRIMARY_HOST:-mongodb}
      MONGODB_INITIAL_PRIMARY_PORT_NUMBER: ${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}
      MONGODB_ADVERTISED_HOSTNAME: ${MONGODB_ADVERTISED_HOSTNAME:-mongodb}
      MONGODB_ENABLE_JOURNAL: ${MONGODB_ENABLE_JOURNAL:-true}
      ALLOW_EMPTY_PASSWORD: ${ALLOW_EMPTY_PASSWORD:-yes}

 

yml 파일 내용은 이렇습니다만

 

도커를 설치하려 하면

 

다음과 같은 에러가 뜹니다.

 

image.png.jpg

 

그래서 yml 파일에서 맨 위 둘째줄에 mongodb_data 앞 띄어진 부분을 없애고 

도커를 설치하려 했더니 다음과 같은 에러가 떴습니다.

 

image.png.jpg

 

위 두개 경고야 아무것도 기입하지 않았으니 그렇다 쳐도...

volumes must be a mapping 이라 뜨는데 어찌해야하나요..?

 

신고공유스크랩
11
profile image 1등
ExpBox 2022.08.18. 22:01

컴포즈 버전을 명시하지 않아서 그런거 아닐까요? 첫 줄에 version: '3'을 요즘 많이 쓰긴합니다.

 

그리고 볼륨이야 번역해보니 무슨 일인지는 모르겟으나 볼륨의 첫 글자로 _가 오면 안되는데 _mongodb_data로 볼륨이 생성되어서 그런것 같습니다. 그 경우 위에 있는 모든 -를 빼거나(rocketchat 서비스 쪽의 depends on, expose 등) 모든 값에 -를 넣어주면서 통일해야 제대로 될 수도 있습니다.

 

그나저나 컴포즈 작성 방법이 되게 특이하네요. 헣..

2등
블랙앤해적 2022.08.18. 22:09

docker-compose 2.9.0으로 해야합니다.

그리고 .env 파일이 필요하구요.

지금테스트중인데 잘 안되네요

profile image 3등
달소 2022.08.18. 22:47

다시했을때도 에러가뜨는건 기존에 docker-compose가 컨테이너를 만들다가 말아서 뜰수도있습니다.

portainer에 들어가서 컨테이너와 볼륨을 한번 다 삭제하고다시 실행해보시면좋을듯하네요

블랙앤해적 2022.08.18. 22:59

https://nc1004.ddns.net/s/kb4ea5WWBTQpFWx

 

시놀로지 도커에서 테스트 했습니다. 잘 됩니다.

docker-compose 버전은 2.9.0 으로 하라고 공홈에 나와있습니다.

역방향프록시 뒤에서 실행이 아니면 docker-compose 의 Accounts_UseDNSDomainCheck: false  내용을 삭제해주세요.

게르노 글쓴이 2022.08.19. 15:39
블랙앤해적

.env 파일은 어떻게 활용하나요...?? 도커 컴포즈 버전은 2.9.0이고, 콜라님 말씀대로 ./을 추가해 위의 에러는 더이상 뜨지 않습니다만 Error response from daemon: Invalid container name (-mongodb-1), only [a-zA-Z0-9][a-zA-Z0-9_.-] are allowed 에러가 뜹니다ㅜㅜ

게르노 글쓴이 2022.08.23. 14:45
블랙앤해적

주신 env 파일과 yml 파일 같은 디렉토리에 넣고 docker-compose up -d 하는데 자꾸 위의 컨테이너 이름 에러가 뜹니다... 검색해도 잘 안나오네요

콜라 2022.08.18. 23:05

mongodb:

image: docker.io/bitnami/mongodb:${MONGODB_VERSION:-4.4}

restart: on-failure

volumes:

- mongodb_data:/bitnami/mongodb

 

의 - mongodb_data:/bitnami/mongodb를

- ./mongodb_data:/bitnami/mongodb로 해야 합니다.

 

 

콜라 2022.08.18. 23:18
콜라

./을 안붙이면 컴포즈 파일의 volumes의 mongodb_data를 찾게 되요.

 

---------------------------------------

version: "3.9"

 

services:

 

mysql:

image: mysql

volumes:

- db-data:/var/lib/mysql/data

networks:

- overlay

deploy:

mode: replicated

replicas: 2

endpoint_mode: dnsrr

 

volumes:

db-data:

----------------------------------------------------

이 예시에서 mysql의 volumes에는 
db-data가 언급되어있죠.
이렇게 쓰면 같은 오류가 발생합니다.
왜냐하면 db-data가 무엇인지 정의 되어있지 않기 때문이죠.

그래서 services: 와 같은 층(?)에 volumes를 만들어 db-data를 명시해주어야 합니다.
db-data에 여러가지 속성을 넣을 수 있는데, 아무것도 넣지 않으면 로컬 파일이 됩니다.

docker-compose.yml 파일 내 volumes의 db-data가 아니라
docker-compose를 실행한 경로의 상대경로라고 명시하는 방법도 있습니다.
그 방법이 앞서 말씀드린, ./db-data:/var/lib/mysql/data를 사용하는 방법이 되겠습니다.

게르노 글쓴이 2022.08.19. 15:38
콜라

앞에 ./를 붙이니 해당 에러는 더 이상 뜨지 않습니다만, Error response from daemon: Invalid container name (-mongodb-1), only [a-zA-Z0-9][a-zA-Z0-9_.-] are allowed 라는 에러가 뜹니다.... 도커 컴포즈도 2.9.0으로 업데이트한 상태인데 왜 이럴까요...?

콜라 2022.08.19. 16:17
게르노

only [a-zA-Z0-9][a-zA-Z0-9_.-]

요 부분이 regex를 알아야 하는데..

해석하자면.

이름의 첫글자는 대문자, 소문자, 숫자로 시작될수 있고

그 이후는 대소문자 숫자 _ - . 이 들어갈수 있다는 의미입니다.

이름 가장 앞의 -를 빼줘야해요

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

취소 댓글 등록

cmt alert

신고

"님의 댓글"

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

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
정보 proxmox/debian 레포 변경사항 (N: Repository 'Debian bookworm' changed its 'non-free component' value from 'non-free' to 'non-free non-free-firmware') 1 달소 11시간 전08:21 105 +1
잡담 Proxmox 사이트도 개편을 했나보네요 1 달소 11시간 전07:46 201 +1
질문 적용 방법을 모르겠습니다?? 13 초보나스 2일 전08:05 245 +1
3860 질문
normal
감자칩 40분 전18:56 15 0
3859 질문
image
게르노 3시간 전16:08 31 0
3858 질문
image
동도리군 7시간 전12:14 73 0
3857 정보
image
달소 11시간 전08:21 105 +1
3856 잡담
image
달소 11시간 전07:46 201 +1
3855 가이드
image
달소 12시간 전07:24 184 0
3854 질문
normal
서버구축하자 1일 전13:09 378 0
3853 질문
image
미스터빈 1일 전20:09 205 0
3852 질문
image
초보나스 2일 전08:05 245 +1
3851 질문
normal
웹서버구축관심 3일 전02:22 313 0
3850 잡담
normal
달소 3일 전23:39 206 +2
3849 질문
normal
게르노 4일 전03:11 192 0
3848 질문
image
감자칩 4일 전20:04 289 0
3847 질문
normal
ljr10 4일 전19:45 203 0
3846 질문
image
TANG 5일 전11:33 227 0
3845 질문
normal
감자칩 6일 전18:55 149 0
3844 질문
normal
숲형 6일 전11:21 277 0
3843 질문
image
kmw_ 6일 전09:37 199 +1
3842 질문
normal
bass9030 6일 전00:43 139 +1
3841 잡담
normal
칼룬 24.04.18.18:12 286 +1