THẢO LUẬN

thg 5 11, 2022 7:32 SA

Sau khi compose up thì k được tắt nó, lúc đó em phải tạo thêm 1 terminal khác. Có cách nào cho nó chạy ngầm rồi thích thì show nó lên lại như pm2 không anh?

0
thg 5 11, 2022 6:40 SA

@maitrungduc1410 Nhưng mà em dùng wsl ubuntu 20.04 em open qua remote chứ có phải dùng trong hdh windown đâu mà nhỉ em mới clone project rồi chạy trên widown thì oke rồi ạ, chắc cái project của e. e đang gõ nhập chỗ nào đó

+1
thg 5 11, 2022 6:13 SA

@maitrungduc1410 sau khi em chạy docker volume create mongodata chỉnh lại ở sevice db

  volumes:
      - mongodata:/data/db
      - .docker/db-entrypoint.sh:/docker-entrypoint-initdb.d/db-entrypoint.sh

Thêm ở dưới network

networks:
  cache-network:
    driver: bridge
  db-network:
    driver: bridge

volumes:
  mongodata:

Thế vẫn k authen được k biết làm như thế có đúng k ạ

0
thg 5 11, 2022 4:30 SA

@HungSmeb có vẻ bạn đang dùng windows, mount volume trên mongo có 1 số vấn đề, mình cũng đã note trong bài này rồi (Note cho bạn nào đang dùng Windows....) nên thay vì mount volume trực tiếp từ đường dẫn thì bạn cần chuyển qua dùng Docker volume

bạn xem lại bài này, tìm theo từ khoá Note cho bạn nào dùng Windows

0

😢😢 😢

0
thg 5 11, 2022 4:13 SA

💯💯💯

0

Rất hay và bổ ích, em hóng thêm phần 3 ạ

0

@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
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í