docker 挂载日志目录
docker容器在重启动时,内部数据清空,log日志便无从查找,使用docker挂载功能挂载目录记录日志。docker run参数--volume , -v:绑定一个卷挂载日志目录启动命令docker run -it -v /home/store1/log:/home/log acf003b32780 /bin/bashdocker-compose 配置方式可以直接使用 HOST:CONTAINE
docker容器在重启动时,内部数据清空,log日志便无从查找,使用docker挂载功能挂载目录记录日志。
docker run参数--volume , -v: 绑定一个卷
挂载日志目录启动命令
docker run -it -v /home/store1/log:/home/log acf003b32780 /bin/bash
docker-compose 配置方式
可以直接使用 HOST:CONTAINER 这样的格式,或者使用 HOST:CONTAINER:ro 这样的格式,后者对于容器来说,数据卷是只读的,这样可以有效保护宿主机的文件系统.
注:如果不设置work_dir,可以会造成log文件目录错误。
version: "3"
services:
store1:
build: .
network_mode: host
volumes:
- ./log:/home/log
image: "acf003b32780"
working_dir: /home
command:
- sh
- -c
- |
java -jar /home/test-1.0.0.jar
Compose 的数据卷指定路径可以是相对路径,使用 . 或者 .. 来指定相对目录。
数据卷的格式可以是下面多种形式:
volumes:
# 只是指定一个路径,Docker 会自动在创建一个数据卷(这个路径是容器内部的)。
- /var/lib/mysql
# 使用绝对路径挂载数据卷
- /opt/data:/var/lib/mysql
# 以 Compose 配置文件为中心的相对路径作为数据卷挂载到容器。
- ./cache:/tmp/cache
# 使用用户的相对路径(~/ 表示的目录是 /home/<用户目录>/ 或者 /root/)。
- ~/configs:/etc/configs/:ro
# 已经存在的命名的数据卷。
- datavolume:/var/lib/mysql
如果你不使用宿主机的路径,可以指定一个 volume_drivervolume_driver: mydriver
更多推荐
所有评论(0)