@Ynicum_navern
php, golang

Как запустить web страницу на Golang из под Docker?

Здравствуйте, сталкнулся с такой проблемой, что не могу запустить веб-сайт на Golang из под Docker.
У меня есть docker-compose, в нём я собираю golang
app:
    build:
      context: ./api/docker
      dockerfile: golang.dockerFile
    volumes:
      - "./api:/go"
    container_name: golang_app
    ports:
      - "9097:8080"
    tty: true
    depends_on:
      - db


У меня ещё есть Dockerfile:
FROM golang:latest
RUN apt-get update
RUN go get "github.com/go-sql-driver/mysql"
RUN go get "github.com/gorilla/mux"


При попытке всё это запустить:
sudo docker-compose up --build -d
sudo docker exec -it golang_app bash


Я открываю страницу 127.0.0.1:9097 и ничего там не вижу, но если запускать код с простым выводом текста на консоль, то код срабатывет. Что мне нужно сделать, чтобы сайт стало видно?

Вот весь код: https://github.com/k0v4back/golang-web-applocation
  • Вопрос задан
  • 457 просмотров
Решения вопроса 1
Судя по коду, вы слушаете порт 9098 на локалхосте.
log.Fatal(http.ListenAndServe("127.0.0.1:9098", r))


При этом, перенаправляете докером вы на порт 8080.
ports:
      - "9097:8080"

1. Слушать надо не на локалхосте, на локалхост докер не сможет перенаправить порт
2. Поправить порты на правильные.

Вот так должно сработать, если все остальное верно.
log.Fatal(http.ListenAndServe(":8080", r))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы