Docker多容器日志记录帽
我正试图限制docker日志文件的最大大小。每个容器的日志文件最大值应为100米。因此,每个容器(如Docker多容器日志记录帽,docker,docker-compose,Docker,Docker Compose,我正试图限制docker日志文件的最大大小。每个容器的日志文件最大值应为100米。因此,每个容器(如边缘、工作者等)应该只允许有一个100MB的日志文件 我试图插入: log_opt: max-size: 100m 在我下面的docker-compose.yml文件的末尾,我发现了一个错误。 我应该把它放在哪里?。而且,当我将它放在每个容器定义中时,我会得到一个错误。我阅读了docker文档,但没有说明选项的确切位置 这是我的docker compose.yml文件: version:
边缘
、工作者
等)应该只允许有一个100MB的日志文件
我试图插入:
log_opt:
max-size: 100m
在我下面的docker-compose.yml文件的末尾,我发现了一个错误。
我应该把它放在哪里?。而且,当我将它放在每个容器定义中时,我会得到一个错误。我阅读了docker文档,但没有说明选项的确切位置
这是我的docker compose.yml
文件:
version: '2.0'
services:
ubuntu:
image: ubuntu
volumes:
- box:/box
cache:
image: redis:3.0
rabbitmq:
image: rabbitmq:3-management
volumes:
- ${DATA}/rabbitmq:/var/lib/rabbitmq
ports:
- "15672:15672"
- "5672:5672"
placements-store:
image: redis:3.0
command: redis-server ${REDIS_OPTIONS}
ports:
- "6379:6379"
api:
image: ruby:2.3
command: bundle exec puma -C config/puma.rb
env_file:
- ./.env
working_dir: /app
volumes:
- .:/app/
- box:/box
expose:
- 3000
depends_on:
- cache
- placements-store
worker:
image: ruby:2.3
command: bundle exec sidekiq -C ./config/schedule.yml -q default -q high_priority,5 -c 10
env_file:
- ./.env
working_dir: /app
environment:
INSTANCE_TYPE: worker
volumes:
- .:/app/
- box:/box
depends_on:
- cache
- placements-store
sidekiq-monitor:
image: ruby:2.3
command: bundle exec thin start -R sidekiq.ru -p 9494
env_file:
- ./.env
working_dir: /app
volumes:
- .:/app/
- box:/box
depends_on:
- cache
expose:
- 9494
sneakers:
image: ruby:2.3
command: bundle exec rails sneakers:run
env_file:
- ./.env
working_dir: /app
environment:
INSTANCE_TYPE: worker
volumes:
- .:/app/
- box:/box
depends_on:
- cache
- placements-store
- rabbitmq
edge:
image: ruby:2.3
command: bundle exec thin start -R config.ru -p 3000
environment:
REDIS_URL: redis://placements-store
RACK_ENV: development
BUNDLE_PATH: /box
RABBITMQ_HOST: rabbitmq
working_dir: /app
volumes:
- ./edge:/app/
- box:/box
depends_on:
- placements-store
- rabbitmq
expose:
- 3000
proxy:
image: openresty/openresty:latest-xenial
ports:
- "80:80"
- "443:443"
volumes:
- ./config/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf
volumes:
box:
# node_modules:
# bower_components:
# client_dist:
这就是我尝试的,例如在rabbitmq
容器下插入:
version: '2.0'
services:
ubuntu:
image: ubuntu
volumes:
- box:/box
cache:
image: redis:3.0
rabbitmq:
image: rabbitmq:3-management
#volumes:
# - ${DATA}/rabbitmq:/var/lib/rabbitmq
ports:
- "15672:15672"
- "5672:5672"
log_opt:
max-size: 50m
placements-store:
image: redis:3.0
command: redis-server ${REDIS_OPTIONS}
ports:
- "6379:6379"
这是我得到的错误:
错误:合成文件“./docker Compose.yml”无效,因为:
不支持服务的配置选项。rabbitmq:“log_opt”
尝试使用选项更改日志选项:
,但出现相同错误:
错误:合成文件“./docker Compose.yml”无效,因为:
不支持服务的配置选项。rabbitmq:“选项”
docker版本还包括:
docker --version && docker-compose --version
Docker version 1.11.2, build b9f10c9/1.11.2
docker-compose version 1.9.0, build 2585387
更新:
已尝试使用文档中所述的日志记录选项(适用于2.0版):
获取错误:
错误:for rabbitmq无法为服务rabbitmq创建容器:
json:无法将数字解组为字符串类型的Go值错误:
在启动项目时遇到错误
虽然docker run
有一个最大大小,请看,我在docker compose的文档中找不到它,可能它被删除了,因为我在这里@user2915097找到了它。是的,但是日志选项不起作用。在这里有你没有的缩进,也许这就是问题所在,和yaml一样经常files@user2915097查看我的更新问题。根据我的说明,您必须添加log\u驱动程序:“json文件”log\u opt:max size:“100k”max file:“20”
也许您需要在log\u opt之前添加json文件?而docker run
有一个max\u大小,请参阅,我在docker compose的文档中找不到它,可能它被删除了,因为我在这里@user2915097找到了,是的,但是日志不起作用。在这里有你没有的缩进,也许这就是问题所在,就像yaml一样files@user2915097请参阅我的更新问题。根据我的建议,您必须添加log\u驱动程序:“json文件”log\u opt:max size:“100k”max file:“20”
也许您需要在log\u opt之前添加json文件?
version: '2.0'
services:
ubuntu:
image: ubuntu
volumes:
- box:/box
cache:
image: redis:3.0
rabbitmq:
image: rabbitmq:3-management
#volumes:
# - ${DATA}/rabbitmq:/var/lib/rabbitmq
ports:
- "15672:15672"
- "5672:5672"
logging:
driver: "json-file"
options:
max-size: 100m
max-file: 1
placements-store:
image: redis:3.0
command: redis-server ${REDIS_OPTIONS}
ports:
- "6379:6379"