docker使用問題總結(jié)

1. docker報(bào)【Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed】錯(cuò)

解決辦法:

<pre style="margin-top: 0px; margin-bottom: 0px; white-space: pre-wrap; overflow-wrap: break-word;">`# systemctl stop docker.service

thin_check /var/lib/docker/devicemapper/devicemapper/metadata` </pre>

If there were no errors then proceed with:

<pre style="margin-top: 0px; margin-bottom: 0px; white-space: pre-wrap; overflow-wrap: break-word;">`# thin_check --clear-needs-check-flag /var/lib/docker/devicemapper/devicemapper/metadata

systemctl start docker.service

If there were errors, you are on your own, but 'man thin_check' and 'man thin_repair' may be helpful...` </pre>

========================================================

2. docker默認(rèn)添加的iptables(ip相關(guān)的自己定制):

docker nat表部分:

docker0IP=ifconfig docker0 |grep 'inet' | cut -d ' ' -f 10
iptables -A POSTROUTING -t nat -s $docker0IP/30 ! -o docker0 -j MASQUERADE

DockerChain="DOCKER"
iptables -t nat -nL DockerChain if [ "x?" != "x0" ] ; then
iptables -t nat -N DockerChain fi iptables -A PREROUTING -m addrtype --dst-type LOCAL -t nat -jDockerChain
iptables -A OUTPUT -m addrtype --dst-type LOCAL -t nat -j $DockerChain ! --dst 127.0.0.0/8

iptables -P FORWARD ACCEPT

docker 默認(rèn)添加為:

iptables -A POSTROUTING -t nat -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE

DockerChain="DOCKER"

iptables -t nat -nL $DockerChain

iptables -A PREROUTING -m addrtype --dst-type LOCAL -t nat -j $DockerChain

iptables -A OUTPUT -m addrtype --dst-type LOCAL -t nat -j $DockerChain ! --dst 127.0.0.0/8

iptables -P FORWARD ACCEPT

參考代碼:
https://github.com/docker/docker/blob/2ad81da856c123acf91eeff7ab607376bd27d9ba/vendor/src/github.com/docker/libnetwork/drivers/bridge/setup_ip_tables.go
https://github.com/docker/docker/blob/2ad81da856c123acf91eeff7ab607376bd27d9ba/vendor/src/github.com/docker/libnetwork/iptables/iptables.go

=========================================================

3.docker報(bào)類似如下錯(cuò)誤【chown socket at step GROUP: No such process】,導(dǎo)致啟動(dòng)失敗:

journalctl -xn

-- Logs begin at Tue 2014-12-30 13:07:53 EST, end at Tue 2014-12-30 13:25:23 EST. --
Dec 30 13:12:30 ITX kernel: ip_tables: (C) 2000-2006 Netfilter Core Team
Dec 30 13:22:53 ITX systemd[1]: Starting Cleanup of Temporary Directories...
-- Subject: Unit systemd-tmpfiles-clean.service has begun with start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit systemd-tmpfiles-clean.service has begun starting up.
Dec 30 13:22:53 ITX systemd[1]: Started Cleanup of Temporary Directories.
-- Subject: Unit systemd-tmpfiles-clean.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit systemd-tmpfiles-clean.service has finished starting up.
--
-- The start-up result is done.
Dec 30 13:25:23 ITX systemd[1]: Starting Docker Socket for the API.
-- Subject: Unit docker.socket has begun with start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.socket has begun starting up.
Dec 30 13:25:23 ITX systemd[1868]: Failed to chown socket at step GROUP: No such process
Dec 30 13:25:23 ITX systemd[1]: docker.socket control process exited, code=exited status=216
Dec 30 13:25:23 ITX systemd[1]: Failed to listen on Docker Socket for the API.
-- Subject: Unit docker.socket has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.socket has failed.
--
-- The result is failed.
Dec 30 13:25:23 ITX systemd[1]: Dependency failed for Docker Application Container Engine.
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.service has failed.
--
-- The result is dependency.
Dec 30 13:25:23 ITX systemd[1]: Unit docker.socket entered failed state.

解決辦法:

方法1.添加docker用戶組(groupadd docker铡俐,如果/etc/group用統(tǒng)一配置管理的話記得在源group文件中添加docker組信息)

方法2.修改/usr/lib/systemd/system/docker.socket文件:

[Unit]
Description=Docker Socket for the API
PartOf=docker.service

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker 這里改成:SocketGroup=root 或其他存在的組

[Install]
WantedBy=sockets.target

如下操作可選:

systemctl enable docker.service && systemctl enable docker.socket:

systemctl list-unit-files | grep docker

docker.service disabled
docker.socket disabled

chkconfig docker on #如果chkconfig不能使用則執(zhí)行:systemctl enable docker.service

Note: Forwarding request to 'systemctl enable docker.service'.
ln -s '/usr/lib/systemd/system/docker.service' '/etc/systemd/system/multi-user.target.wants/docker.service'

systemctl list-unit-files|grep docker

docker.service enabled
docker.socket disabled

systemctl enable docker.socket

ln -s '/usr/lib/systemd/system/docker.socket' '/etc/systemd/system/sockets.target.wants/docker.socket'

systemctl list-unit-files|grep docker

docker.service enabled
docker.socket enabled

參考鏈接:

http://www.milliondollarserver.com/?cat=7

===============================================================

4.當(dāng)宿主機(jī)上只有一個(gè)容器時(shí),刪除容器有時(shí)會(huì)導(dǎo)致宿主機(jī)網(wǎng)路瞬斷

解決方法:

1.修改/etc/sysconfig/ntpd配置文件增加"-L"選項(xiàng)苹享,如

cat /etc/sysconfig/ntpd

Command line options for ntpd

OPTIONS="-g -L"

2.重啟ntpd服務(wù):systemctl restart ntpd

參考鏈接:

https://access.redhat.com/solutions/261123

ntp服務(wù)細(xì)節(jié)全解析

========================================================

5.docker1.6+按照官方文檔搭建的私有registry怜俐, 但是docker login的時(shí)候報(bào)錯(cuò)

Username: ever
Password:
Email:
Error response from daemon: Unexpected status code [404] : <html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>


<center>nginx/1.6.3</center>
</body>
</html>

解決方法:大概說就是docker 1.6+ 需要registry 2.0, 此外還需要nginx的一個(gè)配置,而且這個(gè)配置官方文檔錯(cuò)的韧拒,本來應(yīng)該用set_more_header伞租,文檔用的add_header

官方v1 image和 v2 image遷移工具松逊,可以看一下 https://github.com/docker/migrator,推薦書籍浙大的《docker 容器和容器云》

========================================================

6.docker1.8 pull鏡像服務(wù)端的訪問日志:

127.0.0.1 - - [16/Oct/2015:10:08:52 +0000] "GET /v2/ HTTP/1.1" 401 194 "-" "docker/1.8.3 go/go1.4.2 git-commit/f4bf5c7 kernel/4.2.0-1.el7.elrepo.x86_64 os/linux arch/amd64" "-"
127.0.0.1 - - [16/Oct/2015:10:08:52 +0000] "GET /v1/_ping HTTP/1.1" 404 168 "-" "docker/1.8.3 go/go1.4.2 git-commit/f4bf5c7 kernel/4.2.0-1.el7.elrepo.x86_64 os/linux arch/amd64" "-"
127.0.0.1 - - [16/Oct/2015:10:08:52 +0000] "POST /v1/users/ HTTP/1.1" 404 168 "-" "docker/1.8.3 go/go1.4.2 git-commit/f4bf5c7 kernel/4.2.0-1.el7.elrepo.x86_64 os/linux arch/amd64" "-"

docker應(yīng)該訪問v2接口卻去訪問v1的接口了

解決方法:docker和registry之間通過一個(gè)header來協(xié)商api的版本

========================================================

7.docker容器重啟或宿主的iptables服務(wù)重啟后容器無法接收到udp數(shù)據(jù)包(Failed to receive UDP traffic):

原因:重啟容器或重啟宿主的iptables服務(wù)肯夏,在重啟過程中经宏,因?yàn)樵谀硞€(gè)時(shí)間點(diǎn)犀暑,對(duì)docker服務(wù)做的nat會(huì)因?yàn)橹貑⑹В锢頇C(jī)會(huì)返回端口不可用(如:8888 port unreachable)的錯(cuò)誤烁兰,這條返回會(huì)更新ip_conntrack表的緩存為類似這樣:

ipv4 2 udp 17 29 src=xx.xx.xx.xx dst=xx.xx.xx.xx sport=xxxx dport=xxxx [UNREPLIED] src=xx.xx.xx.xx dst=xx.xx.xx.xx sport=xxxx dport=xxxx mark=0 zone=0 use=2

從而導(dǎo)致iptables啟動(dòng)后耐亏,數(shù)據(jù)包再過來,也會(huì)依據(jù)已有的conntrack緩存沪斟,不會(huì)被轉(zhuǎn)發(fā)到docker容器里面广辰。

解決方法:清理conntrack緩存(可以使用conntrack-tool: conntrack -F)

相關(guān)鏈接:https://github.com/docker/docker/issues/8795 清理conntrack

========================================================

8.docker宿主機(jī)新增分區(qū)(/ssd),docker必須重啟主之,起容器時(shí)在該分區(qū)的數(shù)據(jù)卷(-v /ssd:/ssd)才能生效

解決方法(慎用):修改/usr/lib/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
ExecStart=/usr/bin/docker -d OPTIONSDOCKER_STORAGE_OPTIONS
ExecStartPost=/usr/bin/chmod 777 /var/run/docker.sock
LimitNOFILE=1048576
LimitNPROC=1048576
MountFlags=private #將這里修改成 MountFlags=shared

[Install]
WantedBy=multi-user.target

相關(guān)鏈接:https://huaminchen.wordpress.com/2015/05/19/how-docker-handles-mount-namespace/

========================================================

9.MFS+DOCKER的文件掛載問題

mfs在本地掛載如下
mfsmount /mnt -H ip -P port -S /
這樣本地就有一個(gè)/mnt的mfs目錄了
但是使用docker run -it -v /mnt:/mnt image:tags /bin/bash
之后發(fā)現(xiàn)容器內(nèi)部還是本地的目錄择吊,并不是mfs的掛載目錄。大小也不對(duì)槽奕。查看系統(tǒng)日志發(fā)現(xiàn)一個(gè)警告:
Jul 16 11:52:36 TENCENT64 docker: [error] mount.go:12 [warning]: couldn’t run auplink before unmount: exec: “auplink”: executable file not found
in $PATH

本地找不到這個(gè)auplink的命令几睛,導(dǎo)致docker掛載異常,centos安裝如下:
yum install aufs-util
然后需要重啟docker
systemctl restart docker
重啟容器就可以了

到現(xiàn)在為止docker掛載mfs總共莫名其妙的出過兩次問題:

1.mfs修改了掛載目錄粤攒,但是沒有重啟docker,結(jié)果不論如何啟動(dòng)所森,抓取日志,依舊沒有辦法在docker容器中看到mfs的掛載目錄夯接。

2.在啟動(dòng)進(jìn)入容器之后焕济,刪除了大量的文件,操作過程已經(jīng)結(jié)束盔几,但是mfs有回收站機(jī)制晴弃,文件沒放到了回收站,真正的數(shù)據(jù)清理其實(shí)并沒有進(jìn)行逊拍。這個(gè)狀態(tài)你可以在mfs.cgi頁(yè)面可以看到肝匆。結(jié)果在容器中mkdir創(chuàng)建文件夾的時(shí)候報(bào)device is busy.

這兩個(gè)錯(cuò)誤,我都是重啟docker之后才解決的顺献。我認(rèn)為可能是docker底層的文件服務(wù),cgroup或者aufs有點(diǎn)問題枯怖。這個(gè)問題暫且留著注整。

其他網(wǎng)友總結(jié)的問題

========================================================

10.docker v1版私有倉(cāng)庫(kù),鏡像第一次上傳時(shí)索引寫入db,但是鏡像上傳失敹认酢(search可以找到肿轨,但是delete接口刪除失敗)蕊程,倉(cāng)庫(kù)報(bào)錯(cuò)如下:

image
image

原因:索引已經(jīng)寫入db椒袍,但是鏡像上傳失敗,此時(shí)會(huì)再次寫入索引藻茂,進(jìn)而引起name不唯一的報(bào)錯(cuò)

解決方法:索引存在sqlite數(shù)據(jù)庫(kù)中驹暑,去數(shù)據(jù)庫(kù)中把報(bào)錯(cuò)的鏡像索引刪掉即可(sqlite3 docker-registry.db;.tables;select * from repository;)玫恳。

========================================================

11.device mapper discard的宕機(jī)。

原因:這個(gè)問題反復(fù)出現(xiàn)在某些服務(wù)器上优俘,宕機(jī)重啟后通過IPMI consule進(jìn)入時(shí)系統(tǒng)已經(jīng)重新掛載了CoreDump的Kernel京办,看到CoreDump生成dump之前進(jìn)行Recover操作和Data Copying操作,導(dǎo)致恢復(fù)時(shí)間很慢帆焕。通過Coredump分析屬于Kernel在DM discard方面的一個(gè)BUG惭婿,方法為禁用docker devicemapper的discard。

解決方法:設(shè)置docker啟動(dòng)參數(shù)"--storage-opt dm.mountopt=nodiscard --storage-opt dm.blkdiscard=false"

========================================================

12.docker啟動(dòng)報(bào)錯(cuò)[error] attach_loopback.go:42 There are no more loopback devices available叶雹,完整錯(cuò)誤日志:

systemd[1]: Starting Docker Application Container Engine...
docker[47518]: 2016/02/03 14:50:32 docker daemon: 1.3.2 39fa2fa/1.3.2; execdriver: native; graphdriver:
docker[47518]: [b98612a1] +job serveapi(fd://, tcp://0.0.0.0:2375, unix:///var/run/docker.sock)
docker[47518]: [error] attach_loopback.go:42 There are no more loopback devices available.
docker[47518]: 2016/02/03 14:50:32 loopback mounting failed
systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
systemd[1]: Failed to start Docker Application Container Engine.
systemd[1]: Unit docker.service entered failed state.
systemd[1]: docker.service failed.

原因:because your host system does not have the loopback files in it's dev for docker to use.

解決方法:Use something like this on your host then run the container and it will pick up the devices.

!/bin/bash

for i in {0..6}

do

mknod -m 0660 /dev/loop$i b 7 $i

done

docker 官方issue:git issue

====================================================================

13.docker執(zhí)行命令(如docker rm等)報(bào)錯(cuò):

runtime/cgo: pthread_create failed: Resource temporarily unavailable

SIGABRT: abort

PC=0x7f4d400d45d7

goroutine 0 [idle]:

goroutine 16 [running]:

runtime.asmcgocall(0x403ea0, 0x7f4d40bc1f20) 财饥。。折晦。钥星。。筋遭。

原因:機(jī)器資源達(dá)到上限

解決辦法:找到達(dá)到上限的資源打颤,查明具體原因,并解決(如將limit值加大,/usr/lib/systemd/system/docker.service中增加LimitCORE=infinity漓滔,TasksMax=1048576)

[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
ExecStart=/usr/bin/docker -d OPTIONSDOCKER_STORAGE_OPTIONS
ExecStartPost=/usr/bin/chmod 777 /var/run/docker.sock
LimitNOFILE=1048576
LimitNPROC=1048576

LimitCORE=infinity

TasksMax=1048576

MountFlags=private

[Install]
WantedBy=multi-user.target

git issue

=============================================================

14.使用pipework給容器設(shè)置IP報(bào)錯(cuò)(Error: argument "veth1pl1.507589e+06" is wrong: "name" too long)

原因:

   pipework在設(shè)置容器的ip時(shí)需要添加vethpair,而虛擬網(wǎng)卡名默認(rèn)為v${CONTAINER_IFNAME}pl${NSPID}编饺,其中CONTAINER_IFNAME為容器內(nèi)虛擬網(wǎng)卡名,如eth0,NSPID為容器在宿主機(jī)上的pid响驴,當(dāng)pid過大時(shí)會(huì)轉(zhuǎn)為科學(xué)計(jì)數(shù)法顯示(如1507589顯示為1.507589e+06)透且,但內(nèi)核要求虛擬網(wǎng)卡名長(zhǎng)度不能超過[16 bytes](http://stackoverflow.com/questions/24932172/what-length-can-a-network-interface-name-have),而此時(shí)

v{CONTAINER_IFNAME}pl{NSPID}長(zhǎng)度超過了內(nèi)核的限制豁鲤,因此在執(zhí)行:ip link add name LOCAL_IFNAME mtuMTU type veth peer name GUEST_IFNAME mtuMTU 時(shí)報(bào)錯(cuò) (如:ip link add name veth1pl1.507589e+06 mtu 1500 type veth peer name veth1pg1.507589e+06 mtu 1500報(bào)錯(cuò)Error: argument "veth1pl1.507589e+06" is wrong: "name" too long)

相關(guān)代碼:

DOCKERPID=(docker inspect --format='{{ .State.Pid }}'GUESTNAME)

NSPID=$DOCKERPID

LOCAL_IFNAME="v{CONTAINER_IFNAME}pl{NSPID}"

ip link add name LOCAL_IFNAME mtuMTU type veth peer name GUEST_IFNAME mtuMTU

解決辦法:

1.pid過大時(shí)不要轉(zhuǎn)為科學(xué)計(jì)數(shù)法秽誊,修改pipework中

DOCKERPID=(docker inspect --format='{{ .State.Pid }}'GUESTNAME) 為

DOCKERPID=(docker inspect --format='{{ .State.Pid }}'GUESTNAME|awk '{printf("%d",$0)}') 即可

2.虛擬網(wǎng)卡名生成方法修改為其他方式,保證長(zhǎng)度不超過16 byets即可

==============================================

15.docker不設(shè)置privileged琳骡,無法ssh進(jìn)容器(centos7安裝了ssh的鏡像)

解決方法:

將ssh配置中的 UsePAM yes改成UsePAM no就可以不用設(shè)置privileged了(UsePAM 做一些用戶記接入控制)

==============================================

16.docker rmi $image報(bào)錯(cuò):(Error response from daemon: No such id: xxxxxxxxxxxx

2017/05/10 13:53:59 Error: failed to remove one or more images)

解決方法:

某個(gè)容器使用的鏡像不存在了(docker ps -a某個(gè)容器的鏡像顯示是報(bào)錯(cuò)中的id就是這個(gè)容器)锅论,將此容器刪除即可。

=============================================================

17. docker run|start container報(bào)Unit docker-${container_id}.scope already exists錯(cuò)誤

原因:之前的容器在停止或刪除時(shí)楣号,scope沒有被systemd清楚掉

解決辦法:

方法1. systemctl stop docker-${container_id}.scope

方法2. 重啟機(jī)器(如果機(jī)器可以重啟的話)

相關(guān)問題官方鏈接

==============================================================

18.docker使用centos7鏡像最易,yum報(bào)fakesystemd-1-17.el7.centos.noarch has installed conflicts systemd: fakesystemd-1-17.el7.centos.noarch錯(cuò)

解決方法:yum swap -y fakesystemd systemd && yum install -y systemd-devel

======================網(wǎng)上發(fā)現(xiàn)的其他問題================================

5. 遇到的問題

5.1 幽靈容器問題

我們環(huán)境中早期的Docker 是1.5版本的,在升級(jí)1.7的時(shí)候炫狱,部分container的進(jìn)程從容器逃逸藻懒,容器處于Destroyed狀態(tài),容器進(jìn)行任何stop视译、remove都會(huì)出現(xiàn)如下報(bào)錯(cuò)

Container does not exist: container destroyed嬉荆。這是個(gè)社區(qū)已知的問題,目前社區(qū)沒有完整的解決方案酷含。升級(jí)過程中先關(guān)閉老的容器后再升級(jí)Docker可以避免該問題鄙早。出現(xiàn)問題之后要恢復(fù)相對(duì)麻煩汪茧。

5.2 用戶隔離不足

我們測(cè)試環(huán)境中,容器密度較大蝶锋。Container新建用戶對(duì)外全部映射為 UID 500或者501陆爽,出現(xiàn)了Resource Temporarily unavailable。

CentOS默認(rèn)用戶UID從500開始扳缕,雖然ulimit設(shè)置上限是相對(duì)獨(dú)立的慌闭,但是統(tǒng)計(jì)已經(jīng)使用資源時(shí)卻是一起統(tǒng)計(jì)的。所以在密度較大的測(cè)試和預(yù)生產(chǎn)環(huán)境可能會(huì)出現(xiàn)這樣的問題躯舔。我們的解法是在我們添加的FirstBoot中創(chuàng)建一個(gè)隨機(jī)UID的用戶驴剔。這樣相同的鏡像創(chuàng)建出的用戶UID也不同。大家各自統(tǒng)計(jì)粥庄,盡可能避免問題丧失。

5.3 NFS Server無法啟動(dòng)

這個(gè)問題是兩個(gè)小問題:

1. kernel模塊的reload設(shè)置。

2. kthreadd創(chuàng)建進(jìn)程惜互。

第一個(gè)問題代表了一系列問題布讹,這個(gè)是由于因?yàn)槲募到y(tǒng)沒有kernel的目錄,模塊依賴關(guān)系無從查起训堆。通常此類服務(wù)都可以在配置文件中關(guān)閉模塊的reload過程描验,例如NFS就可以配置。第二個(gè)問題是rpc.nfsd 通知kernel去建立nfsd服務(wù)坑鱼,kernel通過kthreadd來創(chuàng)建nfsd服務(wù)膘流。所以nfsd進(jìn)程不會(huì)出現(xiàn)在Container內(nèi)部,而是暴露在宿主機(jī)上鲁沥。

5.4 線程數(shù)量上限” fork: Cannot allocate memory”

我們的環(huán)境中出現(xiàn)過1次呼股,表現(xiàn)為宿主機(jī)無法ssh登錄,通過IPMI Console進(jìn)行登錄閃斷画恰。這個(gè)問題原因是由于某個(gè)應(yīng)用的問題導(dǎo)致生成大量的線程彭谁,達(dá)到了系統(tǒng)線程的上線。

我們認(rèn)為:

1. pid_max 和 threads-max 值如何設(shè)置不影響單個(gè)進(jìn)程的線程數(shù)量允扇,上限目前為32768

2. pid_max 和 threads-max 影響所有線程的總量缠局,二者較小者為系統(tǒng)上限。超過系統(tǒng)上限后部分系統(tǒng)命令都無法使用蔼两。

3. 調(diào)整系統(tǒng)上限后雖然可以有更多的線程,但是太多的線程將會(huì)對(duì)系統(tǒng)穩(wěn)定性造成影響逞度。

解決思路

1. 環(huán)境中所有宿主機(jī)將/proc/sys/kernel/pid-max設(shè)置為65535额划,并通過nagios監(jiān)控告警宿主機(jī)上的線程數(shù)量。

2. 從應(yīng)用層(tomcat)限制線程上限档泽。

5.5 .device mapper discard導(dǎo)致的宕機(jī)

這個(gè)問題反復(fù)出現(xiàn)在某些服務(wù)器上俊戳,宕機(jī)重啟后通過IPMI consule進(jìn)入時(shí)系統(tǒng)已經(jīng)重新掛載了CoreDump的Kernel揖赴,看到CoreDump生成dump之前進(jìn)行Recover操作和Data Copying操作,導(dǎo)致恢復(fù)時(shí)間很慢抑胎。通過Coredump分析屬于Kernel在DM discard方面的一個(gè)BUG燥滑,方法為禁用docker devicemapper的discard。具體為設(shè)置docker啟動(dòng)參數(shù)”–storage-opt dm.mountopt=nodiscard –storage-opt dm.blkdiscard=false”阿逃。該問題已經(jīng)在多個(gè)公司分享中看到铭拧,解決思路也基本一致。

原文鏈接

=========================其他鏈接================================

Linux內(nèi)核bug引起Mesos恃锉、Kubernetes搀菩、Docker的TCP/IP數(shù)據(jù)包失效

docker容器根目錄為只讀的解決辦法

使用 Device Mapper來改變Docker容器的大小,獲取更快的池

Docker Device Mapper 使用 direct-lvm

Docker內(nèi)部存儲(chǔ)結(jié)構(gòu)(devicemapper)解析(下篇)

Docker基礎(chǔ)技術(shù):DeviceMapper Docker內(nèi)部存儲(chǔ)結(jié)構(gòu)(devicemapper)解析

docker 跨主機(jī)網(wǎng)絡(luò):overlay 簡(jiǎn)介

Docker網(wǎng)絡(luò)解決方案 Docker 網(wǎng)絡(luò)配置 docker網(wǎng)絡(luò)配置方法總結(jié)

使用mesos管理docker集群(mesos,marathon,chronos)

docker的跨主機(jī)解決方案weave----遇到的坑(1)

docker的跨主機(jī)解決方案weave----遇到的坑(2)

蘑菇街基于Docker的私有云實(shí)踐

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末破托,一起剝皮案震驚了整個(gè)濱河市肪跋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌土砂,老刑警劉巖州既,帶你破解...
    沈念sama閱讀 212,686評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異萝映,居然都是意外死亡吴叶,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門锌俱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晤郑,“玉大人,你說我怎么就攤上這事贸宏≡烨蓿” “怎么了?”我有些...
    開封第一講書人閱讀 158,160評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵吭练,是天一觀的道長(zhǎng)诫龙。 經(jīng)常有香客問我,道長(zhǎng)鲫咽,這世上最難降的妖魔是什么签赃? 我笑而不...
    開封第一講書人閱讀 56,736評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮分尸,結(jié)果婚禮上锦聊,老公的妹妹穿的比我還像新娘。我一直安慰自己箩绍,他們只是感情好孔庭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,847評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般圆到。 火紅的嫁衣襯著肌膚如雪怎抛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,043評(píng)論 1 291
  • 那天芽淡,我揣著相機(jī)與錄音马绝,去河邊找鬼。 笑死挣菲,一個(gè)胖子當(dāng)著我的面吹牛富稻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播己单,決...
    沈念sama閱讀 39,129評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼唉窃,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了纹笼?” 一聲冷哼從身側(cè)響起纹份,我...
    開封第一講書人閱讀 37,872評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎廷痘,沒想到半個(gè)月后蔓涧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,318評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡笋额,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,645評(píng)論 2 327
  • 正文 我和宋清朗相戀三年元暴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兄猩。...
    茶點(diǎn)故事閱讀 38,777評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡茉盏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出枢冤,到底是詐尸還是另有隱情鸠姨,我是刑警寧澤,帶...
    沈念sama閱讀 34,470評(píng)論 4 333
  • 正文 年R本政府宣布淹真,位于F島的核電站讶迁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏核蘸。R本人自食惡果不足惜巍糯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,126評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望客扎。 院中可真熱鬧祟峦,春花似錦、人聲如沸徙鱼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至咱筛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間杆故,已是汗流浹背迅箩。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留处铛,地道東北人饲趋。 一個(gè)月前我還...
    沈念sama閱讀 46,589評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像撤蟆,于是被迫代替她去往敵國(guó)和親奕塑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,687評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容