THẢO LUẬN

@hmquan08011996 tiếc nhỉ em ở HN

0
thg 5 11, 2022 4:06 SA

Nếu được anh lúc nào rảnh dò coi mình làm thế này có sai không với, do emchuyển qua widown nên mới tìm thằng này, lúc trước mình dùng ubuntu và cài tay hết 2. Dockerfile

FROM node:16.15.0-alpine

WORKDIR /app

COPY . .

RUN yarn

EXPOSE 3000

CMD ["yarn", "dev"]

  1. docker-compose.yml
version: '3.3'

services:
  node:
    container_name: node_server
    build:
      context: .
    environment:
      - PORT=${PORT}
      - NODE_ENV=${NODE_ENV}

      - MONGO_DB_HOST=${MONGO_DB_HOST}
      - MONGO_DB_PORT=${MONGO_DB_PORT}
      - MONGO_DB_NAME=${MONGO_DB_NAME}
      - MONGO_DB_USERNAME=${MONGO_DB_USERNAME}
      - MONGO_DB_PASSWORD=${MONGO_DB_PASSWORD}
      - MONGO_DB_AUTH_SOURCE=${MONGO_DB_AUTH_SOURCE}

      - S3_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID}
      - S3_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY}
      - S3_BUCKET_NAME=${S3_BUCKET_NAME}
      - S3_REGION_NAME=${S3_REGION_NAME}

      - REDIS_HOST=${REDIS_HOST}
      - REDIS_PORT=${REDIS_PORT}

      - ACCESS_TOKEN_SECRET=${ACCESS_TOKEN_SECRET}
      - ACCESS_TOKEN_EXPIRES_IN=${ACCESS_TOKEN_EXPIRES_IN}

      - REFRESH_TOKEN_SECRET=${REFRESH_TOKEN_SECRET}
      - REFRESH_TOKEN_EXPIRES_IN=${REFRESH_TOKEN_EXPIRES_IN}

    ports:
      - '${PORT}:${PORT}'
    volumes:
      - .:/app
    command: yarn dev
    restart: unless-stopped
    depends_on:
      - redis
      - db
    networks:
      - db-network
      - cache-network

  db:
    image: mongo
    volumes:
      - .docker/data/db:/data/db
      - .docker/db-entrypoint.sh:/docker-entrypoint-initdb.d/db-entrypoint.sh
    restart: unless-stopped
    networks:
      - db-network
    environment:
      - MONGO_INITDB_ROOT_USERNAME=${MONGO_DB_ROOT_USERNAME}
      - MONGO_INITDB_ROOT_PASSWORD=${MONGO_DB_ROOT_PASSWORD}

      - MONGO_DB_PORT=${MONGO_DB_PORT}
      - MONGO_DB_NAME=${MONGO_DB_NAME}
      - MONGO_DB_USERNAME=${MONGO_DB_USERNAME}
      - MONGO_DB_PASSWORD=${MONGO_DB_PASSWORD}
      - MONGO_DB_AUTH_SOURCE=${MONGO_DB_AUTH_SOURCE}

  redis:
    image: redis:6.2-alpine
    volumes:
      - .docker/data/redis:/data
    restart: unless-stopped
    networks:
      - cache-network

networks:
  cache-network:
    driver: bridge
  db-network:
    driver: bridge
  1. .env
NODE_ENV=development

PORT=8000

MONGO_DB_USERNAME=root
MONGO_DB_PASSWORD=root
MONGO_DB_HOST=db
MONGO_DB_PORT=27017
MONGO_DB_NAME=my_db
MONGO_DB_AUTH_SOURCE=admin

MONGO_DB_ROOT_USERNAME=root
MONGO_DB_ROOT_PASSWORD=root


S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_BUCKET_NAME=
S3_REGION_NAME=ap-southeast-3

REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=hung
REDIS_EXPIRE_IN=2592000
REDIS_CONNECT_TIMEOUT=10000

ACCESS_TOKEN_SECRET=
ACCESS_TOKEN_EXPIRES_IN=1h

REFRESH_TOKEN_SECRET=
REFRESH_TOKEN_EXPIRES_IN=10d

  1. db-entrypoint.sh
echo 'Creating application user and db'

mongo ${MONGO_DB_NAME} \
  --host 127.0.0.1 \
  --port ${MONGO_DB_PORT} \
  -u ${MONGO_INITDB_ROOT_USERNAME} \
  -p ${MONGO_INITDB_ROOT_PASSWORD} \
  --authenticationDatabase admin \
  --eval "db.createUser({user: '${MONGO_DB_USERNAME}', pwd: '${MONGO_DB_PASSWORD}', roles:[{role:'dbOwner', db: '${MONGO_DB_NAME}'}]});"

Anh giúp em với đang làm khoá luận mà em phải chuyển sang windown để làm báo cáo, giờ đang muốn chỉnh server mà k run được 😦

0
thg 5 11, 2022 3:57 SA

@maitrungduc1410 Vì mình đọc bài viết này sau nên mình đã làm hết các hướng giải quyết mà bạn đề ra khì mình chạy docker volume ls image.png

nó ra như này mình không biết volume nào là của mongdb xong docker system prune để xoá hết rồi build lại mình cũng cd vào .docker và rm -r /data vẫn không được mình dùng wsl2 hay mình bị nhầm, rõ ràng đã làm như trên bài viết rồi ạ

0

HCM nha bạn. Cơ bộ Spy x Family này hay đó :))))

0
Avatar
đã bình luận cho bài viết
thg 5 11, 2022 3:52 SA

Chi tiết dễ hiểu thanks

0
Avatar
đã bình luận cho bài viết
thg 5 11, 2022 3:17 SA

bài viết rất chi tiết và dễ hiểu, cảm ơn đã đục cái đầu đá như tôi

+1

bác tuyển ở Hn hay HCM vậy

0
thg 5 11, 2022 2:36 SA

bạn thử xoá volume của mongo đi xong tạo lại nhé, folder .docker/data/db ấy

0
Avatar
đã bình luận cho bài viết
thg 5 11, 2022 2:14 SA

Bài APP_KEY mặc dù khá cũ, nhưng có một số thông tin hữu ích. Nhưng bạn nói thiếu quy trình liên quan là csrf/xsrftoken cái này khá quan trọng trong dùng api với Multi_app cùng server

0
thg 5 11, 2022 1:57 SA

Thanks for sharing!

0

hay quá, viết tiếp đi anh ơi 😃 cám ơn anh nhiều

0

Đúng rồi bạn, cái bạn nói là nội dung của bài viết "magic mango" trong link bên trên á, tác giả cũng trình bày như vậy luôn.

0
thg 5 10, 2022 7:41 CH

Không biết vì sao mình không thể authentication thành công cả

  • MONGO_INITDB_ROOT_USERNAME=root
  • MONGO_INITDB_ROOT_PASSWORD=root Tuy nhiên mình để thế này thì app connect được, nhưng mình cũng không biết có có authen không Nhưng mà minh dùng mongo rồi mongo -u "root" -p "root" vẫn không authen được? Có ai biết lỗi sau không ạ? Mình mới tiếp cận docker
0
thg 5 10, 2022 5:25 CH

Mình cũng thấy vậy

0
thg 5 10, 2022 4:48 CH

xin lỗi bạn vì bị miss thông báo , không biết bạn có cần trợ giúp nữa không nhỉ ?

0

Cái khó nhớ nhất chính là "cái mẹo" cần nhớ của bạn =))

+1

Mình nghĩ là phương thức splice có ý nghĩa là tạo ra một mối ghép trong mảng ban đầu, sau đó ghép thêm thứ gì đó vào. Có thể tưởng tượng giống như các mối ghép khi người ta chế tạo các đồ vật như bàn, ghế, v.v... Đại loại là một vị trí được khoét hổng để chờ lắp thêm một thành phần nào đó vào ví dụ như vị trí lắp chân bàn vào mặt bàn. Vì vậy nên phương thức này được thiết kế với hai nhóm tham số:

  • Nhóm tham số đầu tiên là số chỉ vị trí bắt đầu startIndex và số phần tử cần tách bỏ deleteCount để tạo ra một mối ghép.
  • Nhóm tham số thứ hai là tất cả các tham số còn lại từ vị trí sau deleteCount là để biểu thị cho một phần mới của đồ vật được ghép vào mối ghép tạo ra bởi hai tham số ban đầu.

Bản thân từ splice nếu như theo Google define thì nó còn có ý nghĩa tương đương với connect, hay join, khá phù hợp với giả thuyết mình nêu ở trên.

https://www.google.com/search?q=define+splice

0

@rockman88v hóng bài mới quá a à

0

@TrangNTT Hì. Cảm ơn bạn

0

@Chibi Tác giả có tâm quá

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí