docker - 运行一个 Docker 容器而不是其他容器。码头工人组成
问题描述
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_test 的数据。特别是,我通过 docker inspect docker_db 看到了它。它返回 docker_test 的环境变量。并在服务器上为 docker_test 上传环境变量和其他设置(而不是 docker_db)
项目结构:
解决方案
我认为它们两个图像都是从同一个 dockerfile 构建的,因为您没有在服务下指定 dockerile。尝试这个
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
推荐阅读
- openmdao - 在问题中定义不用作输入且等于先前输入/输出的变量
- file - 通过 Jupyter Hub 写入磁盘所有权
- javascript - 为什么 JavaScript .sort() 方法会跳过花色的 Unicode 卡片字符十六进制字母,而不是卡片等级的以下十六进制数字?
- tensorflow - Tensorflow:ValueError:`generator`产生了一个形状()的元素,其中一个形状()的元素是预期的
- php - Wordpress 更改回复链接
- azure - 如何获取未连接到 Log Analytics Worspace 的 VMS 列表?
- python - SQLAlchemy 动态 column_property
- javascript - Netconf librarr - JS 中的 RPC 请求
- python - 在本地从 pyspark 读取 azure datalake gen2 文件
- flutter - 导航时颤振菜单不会覆盖主菜单