当前位置: 首页 > 知识库问答 >
问题:

一个集装箱从另一个集装箱的进入端口

柯镜
2023-03-14
docker run modelpolisher_java java -jar ModelPolisher-noDB-1.7.jar --host=biggdb --port=5432 --user=postgres --passwd=postgres --dbname=bigg
version: '3'
services:
  biggdb:
    container_name: modelpolisher_biggdb
    build: ./docker/bigg_docker
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=bigg
    ports:
      - "1310:5432"
  java:
    container_name: modelpolisher_java
    build: ./docker/java_docker
    stdin_open: true
    tty: true

BigGDB的Dockerfile:

FROM postgres:11.4

RUN apt update &&\
apt install wget -y &&\
# Create directory '/bigg_database_dump/' and download bigg_database dump as 'database.dump'
wget -P /bigg_database_dump/ https://modelpolisher.s3.ap-south-1.amazonaws.com/bigg_database.dump &&\
rm -rf /var/lib/apt/lists/*

COPY ./scripts/restore_biggdb.sh /docker-entrypoint-initdb.d/restore_biggdb.sh

EXPOSE 1310:5432

有人能告诉我,我需要在docker-compose.yml或命令中做哪些更改,以使java容器访问biggdb(postgres)容器的端口吗?

共有1个答案

刘承悦
2023-03-14

这两个容器必须在同一个Docker-internal网络上,才能彼此对话。Docker Compose自动为您创建网络并将容器附加到该网络。如果您同时使用Docker Run一个容器,则需要查找该网络的名称。

运行

docker network ls

这将列出您拥有的Docker内部网络。其中一个将命名为bigg_default,其中第一部分(可能)是当前目录名。那么当您实际运行容器时,您可以使用

docker run --net bigg_default ...
 类似资料:
  • 我有一个框设置为在一个容器框内。这个集装箱箱还会有其他内容。 我正在尝试垂直居中内框内的文本。为此,我将与一起使用。 作为最后一步,我现在希望高度总是充满集装箱箱。以便此内框内垂直居中的文本始终垂直居中于容器框内。 > 容器框的高度会根据其内容进行调整,因此我无法在CSS中设置框的特定高度。 对于内框上的也没有帮助。 我怎样才能使这个内箱始终100%垂直地充满它的集装箱箱? 这里有一个示例代码段:

  • 我知道所有任务的信息都可以通过curl http://localhost:51678/v1/tasks获得

  • 我一直在将ms sql docker容器设置为使用Linux主机日期时间设置。我使用的是docker compose文件,在大多数情况下,解决方案似乎是像这样映射卷(参考文献:Bobcares,so): 乍一看,这看起来不错。我可以检查容器认为它是什么日期,并且它反映了宿主的本地时区。但是,SQL实例仍然显示的UTC时间。 容器中有一个符号链接,看起来总是这样:

  • 我试图写我自己的版本的d::is_copy_constructible,将返回false的容器只移动类型。 我已经找到了这个答案,描述了如何为特定的容器类型工作。现在我正在尝试扩展它以适用于任何容器。出于我的目的,我将“容器”定义为具有“value_type”成员的任何类。为了确定一个类是否有一个value_type成员,我在这个答案上使用了一个变体。 所以我现在基本上是这样的: 用于确定类是否具

  • 在这里,我们使用Kubernetess进行大量的批处理计算,我希望用一个监视侧车来检测每个作业,以便随着作业的进度更新一个集中跟踪系统。 唯一的问题是,我无法弄清楚一个作业中的多个容器的语义是什么(或者应该是什么)。 所以看起来我的边车需要观察主要过程(怎么做?)一旦它发现自己独自一人在豆荚里,就优雅地退出?如果这是正确的,那么对此是否有最佳实践/模式(sidecar应该带着主容器的返回代码退出吗

  • 我在两个单独的容器中运行Apache2和PHP-FPM。两个容器运行正常,但我无法处理php文件。当我导航到一个php文件时,浏览器的响应是“找不到文件”查看apache错误日志,我得到: 主要是我一直遵循这里的设置说明。其他网站的搜索显示类似的设置。 我注意到这些指令不包括apache2 PHP模块,但fcgi似乎解决了这个问题。。。? 一些调试结果: 我可以访问主机IP并呈现超文本标记语言网页