gpt4 book ai didi

nginx - docker-compose run ,链接到之前运行的容器

转载 作者:行者123 更新时间:2023-12-02 19:37:27 26 4
gpt4 key购买 nike

我有 2 个容器,我想用“docker-compose run”运行 bash 迭代。我的 Composer 文件如下所示

--- 
services:
dataBase:
image: "mysql:latest"
container_name: dataBase
environment:
MYSQL_ROOT_PASSWORD: SOME_PASSWORD
MYSQL_DATABASE: SOME_DATABASE
ports:
- "3306:3306"
volumes:
- ../data:/var/lib/mysql
api:
build: builds/web
container_name: api
hostname: "api"
ports:
- "5000:5000"
external_links:
- dataBase
volumes:
- ../api:/etc/api
working_dir: /etc/api
command: npm start
nginx:
image: nginx:1.11.13-alpine
ports:
- "8080:80"
volumes:
- ../nginx/conf.d:/etc/nginx/conf.d/
external_links:
- api:api
restart: always
version: "3"

我愿意:
docker-compose run --service-ports api bash

这将使用指向数据库的链接初始化 api 容器。
然后我需要 nginx 运行并链接到 API,我还不能这样做。我在做:
docker-compose run -d --service-ports --no-deps nginx

有没有办法让我将这 2 次运行分开并仍然实现 nginx 链接。我尝试了 external_link 但这并没有削减它。

最佳答案

找到了解决方法。
我所做的是开始使用网络(链接可以正常工作,只是它们是 legacy )。

诀窍是让我想要访问的容器进入休眠状态,然后通过 访问它docker-compose 执行 .

我的文件如下所示:

--- 
services:
dataBase:
image: "mysql:latest"
container_name: dataBase
environment:
MYSQL_ROOT_PASSWORD: SOME_PASSWORD
MYSQL_DATABASE: SOME_DATABASE
volumes:
- ../data:/var/lib/mysql
networks:
- proxy
api:
build: builds/web
container_name: api
hostname: api
ports:
- "5000:5000"
depends_on:
- dataBase
volumes:
- ../api:/etc/api
working_dir: /etc/api
networks:
- proxy
command: "sleep infinity" #keeps the container alive for 2 way networking to work, test is ran with docker-compose exec
nginx:
image: nginx:1.11.13-alpine
container_name: nginx
hostname: nginx
ports:
- "8080:80"
volumes:
- ../nginx/conf.d:/etc/nginx/conf.d/
restart: always
depends_on:
- api
networks:
- proxy
networks:
proxy:
driver: bridge
version: "3"

关键是命令“sleep infinity”,所以我现在的工作流程是:
docker-compose up
docker-compose exec api bash

我在这个 issue 上找到了解决方案.

我认为这已经足够好了,即使我可以不使用 sleep 技巧我会更快乐,主要是因为我想将制作命令留给 Composer 。

关于nginx - docker-compose run ,链接到之前运行的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43311741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com