Git Product home page Git Product logo

Comments (32)

Cozy-Ho avatar Cozy-Ho commented on September 28, 2024 1

도커 깐김에 배포까지 포스트 "https://blog.nacyot.com/articles/2014-01-27-easy-deploy-with-docker/"
URL이 404 에러를 뱉네용.. 혹시 포스트 삭제하셨나요? ㅠㅠ

from feedback.

nacyot avatar nacyot commented on September 28, 2024 1

도커(Docker) 입문편: 컨테이너 기초부터 서버 배포까지 | 44BITS

이 글이 같은 글을 리뉴얼한 내용입니다. 기존 사이트는 다른 문제 때문에 접속이 안 되는 것 같은데 복원해두겠습니다.

from feedback.

woosungchoi avatar woosungchoi commented on September 28, 2024 1

꿀팁이 정말 많네요. 감사합니다.

from feedback.

raccoonyy avatar raccoonyy commented on September 28, 2024 1

django 컨테이너 A, B가 있다고 할 때 각각 호스트 컴퓨터에 연결된 포트가 있을 텐데, nginx에 별도 설정을 하지 않으셨다면 아마 한 대만 트래픽을 받지 않았을까 싶어요.
제가 같은 환경을 구성해보진 않았지만 이런 글을 보았습니다. https://pspdfkit.com/blog/2018/how-to-use-docker-compose-to-run-multiple-instances-of-a-service-in-development/

이미 검색해보셨을 것 같은데, 저 글처럼 해도 안 되었다면 저도 잘 모르겠네요 ^^a

from feedback.

wlsl8135 avatar wlsl8135 commented on September 28, 2024

좋은 포스터 감사합니다.

from feedback.

raccoonyy avatar raccoonyy commented on September 28, 2024

@wlsl8135 읽어주셔서 고맙습니다. ^^

from feedback.

wlsl8135 avatar wlsl8135 commented on September 28, 2024

헉 답장 가능합니다. 진행하던 도중에 막히는 부분이 있어서 여쭤보려하는데,
docker run -it --rm -p 8000:8000 --link db -e DJANGO_DB_HOST=db -e DJANGO_DEBUG=True django-sample ./manage.py runserver 0:8000 이부분에서
/usr/bin/env: ‘python\r’: No such file or directory 이 오류가 계속 나네요.
dockerfile이나 dockerfile.dev에 있는 \r\n문제인가 해서 수정을 해봐도 같은 오류가 나오는데 윈도우 환경에서 도커로 실행할 때 이 에러를 어떻게 해결할 수 있을까요?
./mange.py runserv 0:8000을 지우면 실행은 되는데 내부로 들어가서 실행할 수가 없네요 ㅠㅠ

from feedback.

raccoonyy avatar raccoonyy commented on September 28, 2024

@wlsl8135 답변이 늦어 죄송합니다. 아쉽게도 제가 윈도 환경이 아니어서 확인할 방법이 없답니다. 해결하셨다면 해결 방법도 알려주시면 고맙겠습니다. ^^

from feedback.

wlsl8135 avatar wlsl8135 commented on September 28, 2024

@raccoonyy 이게 맞는지 모르겠지만, 내부에 뒤에 ./mange.py runserver 0:8000을 지우고 진행해도 docker-compose.yml파일의 명령어 덕분에 잘 진행 되는것 같아요 ㅎㅎ 답변감사합니다.

from feedback.

raccoonyy avatar raccoonyy commented on September 28, 2024

@wlsl8135 해결되어서 다행입니다. ^^

from feedback.

sonim1 avatar sonim1 commented on September 28, 2024

좋은 글 감사합니다 많은 도움이 됐습니다!

from feedback.

sunghwan2789 avatar sunghwan2789 commented on September 28, 2024

Compose 파일에서 version: '3'이라고 하면 version: '3.0'으로 해석하는데, 이게 최신 버전을 의미하지는 않는다고 하네요~ #

from feedback.

raccoonyy avatar raccoonyy commented on September 28, 2024

@sunghwan2789 앗 그렇군요~ 바뀐 건지 제가 잘못 알았던 건지 모르겠지만, 본문을 수정하겠습니다.
알려주셔서 고맙습니다 ^^

from feedback.

hyejun8701 avatar hyejun8701 commented on September 28, 2024

docker-compose.yml 파일 command 항목에 하이픈을 없애면 정상적으로 실행되네요

from feedback.

hyejun8701 avatar hyejun8701 commented on September 28, 2024

3.3 드디어 실행! << 진행할때요

from feedback.

raccoonyy avatar raccoonyy commented on September 28, 2024

@hyejun8701 알려주셔서 고맙습니다. 수정해두겠습니다. ^^

from feedback.

rumbarum avatar rumbarum commented on September 28, 2024

2.3에서
$ docker run -it --rm postgres 을 입력하면
Error: Database is uninitialized and superuser password is not specified.
You must specify POSTGRES_PASSWORD to a non-empty value for the
superuser. For example, "-e POSTGRES_PASSWORD=password" on "docker run".

   You may also use "POSTGRES_HOST_AUTH_METHOD=trust" to allow all
   connections without a password. This is *not* recommended.

   See PostgreSQL documentation about "trust":
   https://www.postgresql.org/docs/current/auth-trust.html 

위와 같은 에러가 발생합니다.

from feedback.

rumbarum avatar rumbarum commented on September 28, 2024

안녕하세요, racoony 님,
올려주신 django-sample/Dockerfile 내에
CMD ["python", "manage.py", "runserver", "0:8000"]
가 존재하고 있는데
2.x 들의 예시들을 보면 ./manage.py runserver 0:8000 가 다시 입력이 되고 있습니다.

중복되도 상관은 없는건가요?

from feedback.

rumbarum avatar rumbarum commented on September 28, 2024

2.6 예제부분

docker run -it --rm \
    --name db \
    -e POSTGRES_DB=djangosample \
    -e POSTGRES_USER=sampleuser \
    -e POSTGRES_PASSWORD=samplesecret \
    --volume=$(pwd)/docker/data:/var/lib/postgresql/data \
    postgres:

맨 뒤에 : 삭제해야 될것 같아요

from feedback.

rumbarum avatar rumbarum commented on September 28, 2024

꼼꼼하고 자세한 설명 감사드립니다.

from feedback.

nacyot avatar nacyot commented on September 28, 2024

rumbarum //

  1. postgresql 이미지가 업데이트 되면서 사용법이 조금 달라진 것 같습니다. POSTGRES_PASSWORD 환경변수를 지정해주시거나, postgresql:11.6 이하 이미지를 사용하시면 문제 없이 동작하는 것으로 보입니다. 본문은 raccoonyy 님과 논의 후 추후에 수정해두겠습니다.
  2. docker run 마지막에 명령어를 지정하면 CMD 내용과 무관하게 지정한 명령어를 실행합니다. 따라서 중복되도 괜찮습니다.
  3. : 생략되는 게 맞을 것 같네요. 이 부분도 호환되는 postgresql 버전을 확인하고 수정하겠습니다.

감사합니다. 👍

from feedback.

rudasoft avatar rudasoft commented on September 28, 2024

한줄 한줄 어느 곳도 빠트릴 수 없는 소중한 내용을
이해하기 쉽게 잘 풀어 설명해주셔서 감사합니다.

from feedback.

up0617 avatar up0617 commented on September 28, 2024

너무 잘 봤습니다. 감사합니다!

from feedback.

bky373 avatar bky373 commented on September 28, 2024

좋은 글입니다..!! 초보자도 이해할 수 있게 쉽게 작성해주셔서 감사합니다!!

from feedback.

DaehanKim avatar DaehanKim commented on September 28, 2024

좋은 글 감사합니다!

from feedback.

syinblack avatar syinblack commented on September 28, 2024

도커 컴포즈 파일 공부 중이였는데 큰 도움이 됐습니다! 감사합니다!

from feedback.

yong27 avatar yong27 commented on September 28, 2024

이 문서 많은 도움이 됐어요! 여기저기서 활약하시는 @raccoonyy 님 감사합니다!

최근 개발 서비스를 docker compose 로 잘 운영하고 있습니다. 궁금한점이 있는데요, 제가 db, web(nginx), django 이렇게 3개의 서비스를 쓰는데요, 다음 명령을 하면 스케일아웃도 된다고 하여,

docker-compose --compatibility up -d --scale django=5

(--compatibility 옵션을 쓴 이유는 docker-compose version 3에서 자원을 제한하는 구문을 쓰려면 이렇게 해야 하더라고요)

잘 되는가 싶었는데, scale django=n 숫자를 늘리거나 줄여도 성능이 늘어난다거나 하지 않네요. locust 로 성능테스트 해봤습니다. 이런 경우, 별도의 로드밸런싱 설정이 필요할까요? 찾다가 못찾고 질문드립니다.

from feedback.

raccoonyy avatar raccoonyy commented on September 28, 2024

@yong27
안녕하세요 오랜만이네요~ ^^
도커 컴포즈는 한 서버 내에 컨테이너를 여러 대 구성하는 방식이잖아요?
그래서 기존의 컨테이너들이 서버의 CPU, RAM 자원을 100% 가까이 사용하고 있었다면, scale을 통해 컨테이너 개수를 늘리더라도 성능 향상이 될 것 같지는 않습니다.

이 경우가 아니라면 좀더 상황 설명을 들어봐야 알겠어요~

from feedback.

yong27 avatar yong27 commented on September 28, 2024

아, docker-compose 의 각 서비스들의 자원을 제한하는 설정을 했습니다.

    deploy:
      resources:
        limits:
          cpus: "4.0"
          memory: 2048M

cpu 나 memory 를 늘리면서 성능이 증가하는건 확인했는데, --scale django=5 으로 서비스수를 늘리는 건 성능증가가 안보여서요. docker-compose logs -f 로 로그를 보니, django_3 서비스만 돌고 있어요.

from feedback.

raccoonyy avatar raccoonyy commented on September 28, 2024

아, 그렇다면 django 컨테이너들이 호스트의 어떤 포트로 각각 연결되고 있나요? + 외부에서 들어온 트래픽을 어떤 django 컨테이너가 처리할지 어떻게 결정하고 계신가요?

from feedback.

yong27 avatar yong27 commented on September 28, 2024

외부에서 들어온 요청은 nginx 가 받고요, 포트포워딩으로 django 로 넘깁니다. scale out 적용하면, django 컨테이너가 많아지면서 자동으로 로드 밸런싱을 할꺼라고 기대했거든요.

from feedback.

cyberjam avatar cyberjam commented on September 28, 2024

재밌게 잘 읽었습니다!

from feedback.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.