docker日志文件挂载

为什么需要挂载
使用docker时,目录挂载功能是非常重要的,为什么呢?
如果日志存放在容器里,当重启时或删除容器后日志会丢失

这个问题用docker目录挂载功能可以很好的解决

具体步骤
第一步: 确定自己的docker容器中的日志目录
我的项目中是/logs
第二步:创建宿主机的挂载目录
我选择的是/usr/local/app/logs
第三步:运行docker
docker run -it -d -e TZ=“Asia/Shanghai” -p 8080:8080 -v /usr/local/app/logs:/logs 3b44
在这里插入图片描述

好了,这样启动以后,日志就会写入到宿主机的/usr/local/app/logs目录中,当你的容器关闭、重启或是删除容器时日志都会被完整的保留下来

### Docker 使用外部挂载文件启动容器 在使用 Docker 容器时,可以通过挂载主机上的目录到容器内部的方式实现数据共享。这种方式允许容器访问宿主机上的文件或目录,并且可以持久化存储数据。 #### 基本概念 当创建并运行一个 Docker 容器时,可以利用 `-v` 或 `--mount` 参数将宿主机的某个路径映射到容器内的特定位置。这种机制被称为卷(Volume),它使得容器能够读取和修改宿主机上的文件[^1]。 #### 实现方法 以下是通过挂载外部文件来启动容器的具体方式: 1. **准备宿主机上的文件** 在宿主机上准备好需要挂载的文件或目录。例如,在 `/home/user/data` 路径下放置一些配置文件或其他资源。 2. **启动容器时挂载文件** 使用以下命令启动容器并将宿主机上的文件夹挂载至容器内: ```bash docker run -d \ --name my_container \ -v /home/user/data:/container/path/to/mounted/files \ image_name:tag ``` 上述命令中的参数解释如下: - `-d`: 表示以后台模式运行容器。 - `--name my_container`: 给容器命名。 - `-v /home/user/data:/container/path/to/mounted/files`: 将宿主机的 `/home/user/data` 文件夹挂载到容器内的 `/container/path/to/mounted/files` 路径。 - `image_name:tag`: 替换为目标镜像及其标签。 3. **验证挂载效果** 进入正在运行的容器并通过命令确认挂载是否成功: ```bash docker exec -it my_container bash ls /container/path/to/mounted/files ``` 4. **特殊场景——Jenkins 的例子** 如果目标是基于 Jenkins 镜像构建服务,则可以在启动过程中挂载必要的工作空间、插件缓存以及日志记录等重要区域。具体操作可参考以下命令: ```bash docker run -d \ --name jenkins-container \ -p 8080:8080 \ -p 50000:50000 \ -v /var/jenkins_home:/var/jenkins_home \ jenkins/jenkins:latest ``` 此处的关键在于定义了一个名为 `/var/jenkins_home` 的本地目录作为持久化的作业配置保存地点[^3]。 #### 注意事项 - 确保所提供的绝对路径有效无误;如果路径不存在或者权限不足可能会引发错误提示。 - 对于 Windows 和 macOS 用户来说,还需要额外设置「File Sharing」选项以便让 Docker Desktop 认识哪些磁盘分区可供虚拟机环境下的 Linux 内核访问[^2]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值