解決docker日志掛載的問題
關(guān)鍵是本地服務(wù)器沒有寫入的權(quán)限
關(guān)鍵看這里吧(Permission denied), 一直沒有看正方,以為是配置日志文件 找不到有問題,下面是部分異常
10:35:09,498 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - openFile(null,true) call failed. java.io.FileNotFoundException: logs/bandwidth.log.2019-04-25.log (Permission denied)
at java.io.FileNotFoundException: logs/bandwidth.log.2019-04-25.log (Permission denied)
at at java.io.FileOutputStream.open0(Native Method)
at at java.io.FileOutputStream.open(FileOutputStream.java:270)
at at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at at ch.qos.logback.core.recovery.ResilientFileOutputStream.<init>(ResilientFileOutputStream.java:26)
at at ch.qos.logback.core.FileAppender.openFile(FileAppender.java:204)
at at ch.qos.logback.core.FileAppender.start(FileAppender.java:127)
at at ch.qos.logback.core.rolling.RollingFileAppender.start(RollingFileAppender.java:100)
at at ch.qos.logback.core.joran.action.AppenderAction.end(AppenderAction.java:90)
at at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309)
at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193)
嘗試好多遍,才真正看懂原因也是從網(wǎng)上看到的一點啟發(fā),希望大家也能注意到,我用如下命令完美解決
docker run -it --privileged=true -v /dockerlogs:/app/logs -d -p 5080:5080 82edb4bbc79b
掛載宿主機已存在目錄后,在容器內(nèi)對其進行操作,報“Permission denied”
可通過兩種方式解決:
1> 關(guān)閉selinux。
臨時關(guān)閉:# setenforce 0
永久關(guān)閉:修改/etc/sysconfig/selinux文件,將SELINUX的值設(shè)置為disabled。
2> 以特權(quán)方式啟動容器
指定--privileged參數(shù)
如:
# docker run -it --privileged=true -v /test:/softlogs
補充知識:docker -v 掛載日志到宿主機
今天用docker拉了個vsftp的鏡像,運行,想把這個容器的日志給掛載到宿主機上方便查看,結(jié)果日志怎么都不出來,百度找半天找不到原因。
最后發(fā)現(xiàn)是需要先在宿主機的掛載目錄下新建個和日志名稱一樣的文件,如下。

上面是我容器日志的位置
1、剛開始我是這樣運行容器并掛載日志的(正常情況這樣是可以掛載出來的,但咱這個不是不正常么~~~),但日志怎么都不出來。
docker run -d -v /home/ftp:/home/vsftpd -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /home/logs/:/var/log/vsftpd/ -e FTP_USER=cqs -e FTP_PASS=chaoshiye@2020 --name vsftpd fauria/vsftpd
2、實際解決辦法就是在宿主機掛載目錄下創(chuàng)建文件 vsftpd.log,然后再執(zhí)行上面的掛載,就會成功。
以上這篇解決docker日志掛載的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker打包SpringBoot鏡像的實現(xiàn)方式
docker打包springboot鏡像,并不是簡單的將springboot項目的jar包上傳容器里,然后啟動,這個操作很簡單,但是如果我每次要查看容器中的日志就需要每次都進入容器內(nèi)部進行查看,這就非常麻煩了,所以本文介紹了Docker打包SpringBoot鏡像的實現(xiàn)方式,需要的朋友可以參考下2024-03-03
docker-compose---安裝掛載本地文件啟動mariadb問題
這篇文章主要介紹了docker-compose---安裝掛載本地文件啟動mariadb問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
Docker容器使用jenkins部署web項目(總結(jié))
這篇文章主要介紹了Docker容器使用jenkins部署web項目(總結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08
解決Docker報錯:“docker build“ requires exactly&nb
這篇文章主要介紹了解決Docker報錯:“docker build“ requires exactly 1 argument.具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
如何使用Celery和Docker處理Django中的定期任務(wù)
這篇文章主要介紹了使用Celery和Docker處理Django中的定期任務(wù)的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05

