溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

在docker中出現(xiàn)日志掛載如何解決

發(fā)布時(shí)間:2020-11-21 14:45:03 來(lái)源:億速云 閱讀:432 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)在docker中出現(xiàn)日志掛載如何解決,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

關(guān)鍵是本地服務(wù)器沒(méi)有寫(xiě)入的權(quán)限

關(guān)鍵看這里吧(Permission denied), 一直沒(méi)有看正方,以為是配置日志文件 找不到有問(wèn)題,下面是部分異常

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)上看到的一點(diǎn)啟發(fā),希望大家也能注意到,我用如下命令完美解決

docker run -it --privileged=true -v /dockerlogs:/app/logs -d -p 5080:5080 82edb4bbc79b

掛載宿主機(jī)已存在目錄后,在容器內(nèi)對(duì)其進(jìn)行操作,報(bào)“Permission denied”

可通過(guò)兩種方式解決:

1> 關(guān)閉selinux。

臨時(shí)關(guān)閉:# setenforce 0

永久關(guān)閉:修改/etc/sysconfig/selinux文件,將SELINUX的值設(shè)置為disabled。

2> 以特權(quán)方式啟動(dòng)容器

指定--privileged參數(shù)

如:

# docker run -it --privileged=true -v /test:/softlogs

補(bǔ)充知識(shí):docker -v 掛載日志到宿主機(jī)

今天用docker拉了個(gè)vsftp的鏡像,運(yùn)行,想把這個(gè)容器的日志給掛載到宿主機(jī)上方便查看,結(jié)果日志怎么都不出來(lái),百度找半天找不到原因。

最后發(fā)現(xiàn)是需要先在宿主機(jī)的掛載目錄下新建個(gè)和日志名稱一樣的文件,如下。

在docker中出現(xiàn)日志掛載如何解決

上面是我容器日志的位置

1、剛開(kāi)始我是這樣運(yùn)行容器并掛載日志的(正常情況這樣是可以掛載出來(lái)的,但咱這個(gè)不是不正常么~~~),但日志怎么都不出來(lái)。

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、實(shí)際解決辦法就是在宿主機(jī)掛載目錄下創(chuàng)建文件 vsftpd.log,然后再執(zhí)行上面的掛載,就會(huì)成功。

以上就是在docker中出現(xiàn)日志掛載如何解決,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI