127..0.1로 Docker 컨테이너에 액세스할 수 없는 경우 해결 방법

3189 단어 Dockergunicorn

TL;DR


다음 주소를 사용하여 브라우저에서 Docker 컨테이너에서 시작한 응용 프로그램에 액세스합니다.
http://127.0.0.1:8000

Issue


ERR는 다음과 같습니다.EMPTY_RESPONS E 반환
Docker 컨테이너에서 시작한 응용 프로그램에 액세스할 수 없습니다.

인산염curl에서 보내도 원활하게 연결이 되지 않는다.
taichikanaya@kanayatBookpuro attakait_hp % curl http://127.0.0.1:8000
curl: (52) Empty reply from server
taichikanaya@kanayatBookpuro attakait_hp % 

Cause

127.0.0.1에서 Docker 컨테이너 내의 응용 프로그램이 시작되었기 때문입니다.
따라서 Docker 컨테이너에서 응용 프로그램에 액세스할 수 있습니다.
인산에서 Docker 컨테이너에 접근할 수 없는 현상이 발생)

Solution

0.0.0.0에서 Docker 컨테이너 내의 응용 프로그램을 시작합니다.127.0.0.1면 Docker 컨테이너에서만 액세스할 수 있습니다.
인산염에서 접근할 수 있도록 0.0.0.0로 변경해야 합니다
gunicorn을 시작할 때 다음과 같은 방식으로 접근할 수 있습니다.
gunicorn attakait_hp.wsgi --bind 0.0.0.0:8000 --log-file -
다음은 내가 사용하는 간단한 Docker 파일 그룹입니다.
Dockerfile
FROM python:3.7
ADD . /var/www/html
WORKDIR /var/www/html
RUN pip install -r ./requirements.txt
docker-compose.yml
version: '3'
services:
  attakait_app:
    build:
      context: .
      dockerfile: ./Dockerfile
    image: python:3.7
    volumes:
      - '.:/var/www/html'
    container_name: hp
    tty: true
    working_dir: '/var/www/html'
    ports:
      - 8000:8000
    command:
      gunicorn attakait_hp.wsgi --bind 0.0.0.0:8000 --log-file -
그럼 방문을 확인하겠습니다.

이상

좋은 웹페이지 즐겨찾기