欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

docker 挂载日志目录

程序员文章站 2022-06-16 22:45:25
...

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/admin-2.2.9.jar &
          java -jar /home/mqtt-1.1.9.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

相关标签: docker docker