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 compose中运行cmd命令吗?_Docker_Docker Compose - Fatal编程技术网

我可以在容器外部的docker compose中运行cmd命令吗?

我可以在容器外部的docker compose中运行cmd命令吗?,docker,docker-compose,Docker,Docker Compose,我有两个docker compose文件来构建docker文件,我想加入这些docker compose文件 所以,我创建了另一个docker compose,它在这两个图像上 version: "3.4" services: frontend: image: frontend-image depends_on: - backend ports: - "3000:80" networks:

我有两个docker compose文件来构建docker文件,我想加入这些docker compose文件

所以,我创建了另一个docker compose,它在这两个图像上

version: "3.4"

services:
  frontend:
    image: frontend-image
    depends_on:
      - backend
    ports:
      - "3000:80"
    networks:
      - teste-network

  backend:
    image: backend-image
    ports:
      - "5001:80"
    networks:
      - test-network

networks:
  test-network:
    driver: bridge
但是,这个docker compose文件并没有构建图像

然后我创建了一个bash命令来构建这些图像

bash -c "docker-compose -f ./frontend/docker/docker-compose.yml build 
&& docker-compose -f ./backend/docker/docker-compose.yml build"

我想在安装容器之前运行此脚本,只需键入
docker compose up

我假设您有两个dockerfile-一个用于前端,另一个用于后端,每个dockerfile都位于您文章中相应的文件夹中,即:

  • frontend/docker/Dockerfile
  • backend/docker/Dockerfile
然后,您可以利用docker compose来构建和运行图像。您所要做的就是告诉docker compose DockerFile在哪里,这可以通过使用配置来实现

版本:“3.4”
服务:
前端:
图像:前端图像
构建:./frontend/docker
取决于:
-后端
端口:
- "3000:80"
网络:
-测试网络
后端:
映像:后端映像
构建:./backend/docker
端口:
- "5001:80"
网络:
-测试网络
网络:
测试网络:
司机:驾驶台

然后运行
docker compose up frontend
将构建docker映像(如果它们不存在),然后启动它们。

compose无法做到这一点,它只能构建和启动容器。添加一个新的规范,使构建规范和运行时规范有效地结合在一起,是否可以满足您的需要?感谢您的澄清!