【问题标题】:Docker-compose does not expose port properlyDocker-compose 未正确公开端口
【发布时间】:2020-08-22 09:40:55
【问题描述】:

所以我有以下 Dockerfile:

FROM adoptopenjdk/openjdk13-openj9:alpine-jre

WORKDIR /opt/Lavalink

COPY Lavalink.jar Lavalink.jar
COPY application* ./

RUN if [[ -f "./application.local.yml" ]]; then mv "./application.local.yml" "./application.yml"; fi

EXPOSE 2333

CMD ["java", "-jar", "Lavalink.jar"]

然后由以下 docker-compose.yml 启动:

version: '2.4'
services:
  lavalink:
    network_mode: host
    container_name: lavalink
    image: skyrabot/lavalink:main
    restart: always
    ports:
      - '2333:2333'

但是,当我尝试连接到服务或检查docker ps 时,我发现没有发布任何端口。

docker ps 的输出:

> docker ps
CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                                            NAMES
e35e7cdea0a4        skyrabot/lavalink:main   "java -jar Lavalink.…"   7 minutes ago       Up 7 minutes                                                         lavalink

知道我在这里做错了什么吗?

【问题讨论】:

    标签: docker networking docker-compose


    【解决方案1】:

    问题出在network_mode: host 行。提供此选项时,Docker 将使用主机网络而不是桥接它,并且它将完全忽略配置的端口。您应该禁用/删除该行,或将其更改为network_mode: "bridge"。欲了解更多信息,请参阅https://docs.docker.com/compose/compose-file/compose-file-v2/#network_mode

    【讨论】:

      猜你喜欢
      • 2018-10-07
      • 1970-01-01
      • 2019-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多