Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个Docker容器运行,而不是另一个。Docker compose_Docker_Docker Compose - Fatal编程技术网

一个Docker容器运行,而不是另一个。Docker compose

一个Docker容器运行,而不是另一个。Docker compose,docker,docker-compose,Docker,Docker Compose,Docker-compose.yml: version: '3' services: psql: container_name: docker_db build: database/ image: andrey1981spb/docker_db webapp: container_name: docker_test build: src/ image: andrey1981spb/docker_test depends_on:

Docker-compose.yml:

version: '3'
services:
   psql:
    container_name: docker_db
    build: database/
    image: andrey1981spb/docker_db

 webapp:
     container_name: docker_test
     build: src/
    image: andrey1981spb/docker_test
    depends_on:
      - psql
psql的Dockerfile:

FROM postgres:latest

ENV POSTGRES_DB_PORT : "5432"
ENV POSTGRES_USER dreamwhite
ENV POSTGRES_PASSWORD Password2020#
ENV POSTGRES_DB test_psql

EXPOSE 5432
wewapp的Dockerfile:

FROM tomcat:9-jre8-alpine

ENV PATH_TOMCAT_USERS /usr/local/tomcat/conf/
ENV PATH_MANAGER /usr/local/tomcat/webapps/manager/
ADD config/tomcat-users.xml  /usr/local/tomcat/conf/tomcat-users.xml
ADD config/context.xml /usr/local/tomcat/webapps/manager/META-INF/context.xml
ADD test.war /usr/local/tomcat/webapps/ROOT.war
EXPOSE 8080
CMD ["catalina.sh","run"]
所有2个容器都成功运行。 但是容器docker_db包含来自docker_测试的数据。 特别是docker inspect docker_db。它返回docker_测试的环境变量。 并在服务器上上载docker_测试的环境变量和其他设置(而不是docker_db)

项目结构:


我认为这两个映像都是从同一个dockerfile生成的,因为您没有在服务下指定dockerfile。 试试这个


更新问题并添加项目的目录结构I对答案进行了更改,请立即尝试代码并告诉我发生了什么请再次清楚地解释您的问题。另外,在执行docker compose之前,请确保您正在执行docker compose构建。在原始问题的
docker compose.yml
文件中,这两个服务具有不同的
build:
context目录,因此这不应该是问题。mybad,我更改了它,。现在尝试更新的文件。确保在完成之前先进行构建
version: '3'
services:
   psql:
    container_name: docker_db
    build: 
      context: .
      dockerfile: ./database/Dockerfile
    image: andrey1981spb/docker_db

 webapp:
     container_name: docker_test
     build: 
      context: .
      dockerfile: ./src/Dockerfile
    image: andrey1981spb/docker_test
    depends_on:
      - psql