因此,我有一个包含以下构建步骤的Dockerfile:
FROM composer:latest AS composer
COPY ./src/composer.json ./src/composer.lock ./
RUN composer install --prefer-dist
FROM node:latest AS node
COPY ./src ./
RUN yarn install
RUN yarn encore prod
FROM <company image>/php74 as base
COPY --from=composer --chown=ww
我习惯于使用telepresence连接到集群,并在本地访问集群服务。
现在,我需要使集群中的服务对在本地中运行的一组应用程序可用。我们可以说这是反向用例。
我有一个应用程序运行在一个码头容器。它访问使用docker-compose部署的服务。它是通过使用网络来完成的:
docker network create myNetwork
// Make app 1 to use it
docker network connect myNetwork app1
// App 2 uses docker compose, so myNetwork is defined in it and here I
我有一个自定义的构建镜像(Python +项目),这是工作得很好,我只想部署多个容器使用docker-compose只有环境变量将改变休息是相同的它可以从一个服务在docker-compose.yml
docker-compose.yml
version: '3'
services:
logsService:
image: logs:latest # logs image is already built and working fine
env_file:
- /home/controller/test/.env # File contain
有一个类似的问题,,但我想我想要不同的东西。对于那些熟悉docker编写的人来说,有一个非常棒的命令,它只在容器中运行一次命令,这非常有助于在每次部署之前启动迁移:
docker-compose -f docker-compose.prod.yml run web npm run migrate
另外,因为这是一个一行命令,所以它适合用于自动化目的:比如使用Makefile或ansible/厨师/salt堆栈。
我发现的唯一一件事是kubectl run,它更类似于docker run。但是docker-compose run允许我们使用配置文件,而docker-run不使用:
kubect
正在尝试确定是否调用
docker-compose down
docker-compose build
docker-compose up
与以下内容相同:
docker-compose build
docker-compose up
我已经找过了,但找不到任何具体的东西。我知道docker-compose down删除了容器和网络docker-compose build创建了服务。所以我不确定向下是不是一个不必要的额外步骤。
我知道它正在以集群模式滚动更新,以实现零停机部署。
但对于简单的项目,我想知道是否在生产中使用docker-compose,并从文档中使用部署:
$ docker-compose build web
$ docker-compose up --no-deps -d web
与使用Capistrano脚本更改符号相比,停机时间会是多少?