THẢO LUẬN

thg 5 11, 2022 2:49 CH

@maitrungduc1410 Cảm ơn anh đã chia sẽ tutorial cũng như hỗ trợ em fix bug 🥰

Do em đang tiếp cận theo kiểu là đang muốn chạy được docker để có thể sửa lỗi cho cái app, do em lúc trước em dùng Ubuntu mà giờ em qua dùng windown wsl nên mấy cái docker này cũng thật sự là chưa hiểu được Em chưa có ý định là học docker vào lúc này Sau đợt này chắc em tìm hiểu thêm thấy nó rất tiện

+1
thg 5 11, 2022 2:35 CH

@HungSmeb tuyệt vời e ơi, qua lần lỗi này mong là e đã hiểu thêm nhiều về mongo 😄

0
thg 5 11, 2022 2:20 CH

Em đã tìm ra lỗi do em set ?authSource=${mongoDB.authSource} trong URI em để trong .env authSouce=admin nhưng DB để xác thực chính là my_db

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 5 11, 2022 9:31 SA

mình mới tham gia cộng đồng nên chưa rõ về việc upvote lắm. Bạn có thể chỉ cho mình với không ? @Thumeo

+1

mình cũng bị tương tự và sửa như sau nhé: kubectl -n kube-system edit deploy metric-server-metrics-server rồi thêm hostNetwork: true vào dưới dòng dnsPolicy: true như hình dưới là được nhé image.png

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 5 11, 2022 8:50 SA

@nthuytrang Nếu câu trả lời là hữu ích, đừng quên upvote cho câu trả lời bạn nhé. Thanks ❤️

0
thg 5 11, 2022 8:40 SA

Cảm ơn bạn, đúng là như vậy. Người Việt mình lập trình rất giỏi nhưng lại rất dỡ tư duy phản biện. Cần phải thay đổi phương pháp đào tạo nhân lực trong các công ty 😃

+1
thg 5 11, 2022 8:18 SA

Trong khi lỗi image.png

Em truy xuât vào container db docker-compose exec db sh

image.png

Nó ra 1 nghĩa là authen thành công, còn app lỗi, sao em chạy lúc trước bình thường mà nhỉ

0
thg 5 11, 2022 8:06 SA

e chạy docker-compose up -d nhé

0
thg 5 11, 2022 7:34 SA

Mình nghĩ bạn nên xem lại title của bài viết nhé

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