Cha*_*lis 2 networking docker docker-compose
所以我有以下 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"]
Run Code Online (Sandbox Code Playgroud)
然后由以下 docker-compose.yml 启动:
version: '2.4'
services:
lavalink:
network_mode: host
container_name: lavalink
image: skyrabot/lavalink:main
restart: always
ports:
- '2333:2333'
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试连接到服务或检查时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
Run Code Online (Sandbox Code Playgroud)
知道我在这里可能做错了什么吗?
问题出在network_mode: host. 当提供这个选项时,Docker 将使用主机网络而不是桥接它,并且它会完全忽略配置的端口。您应该禁用/删除该行,或将其更改为network_mode: "bridge". 有关更多信息,请参阅https://docs.docker.com/compose/compose-file/compose-file-v2/#network_mode
| 归档时间: |
|
| 查看次数: |
201 次 |
| 最近记录: |