diff --git "a/content/zh/docs/Container/\344\277\241\345\217\267\351\207\217\346\256\213\347\225\231.md" "b/content/zh/docs/Container/\344\277\241\345\217\267\351\207\217\346\256\213\347\225\231.md" index 7511cff6d6259f626a9e05dfd97f49b52d4781d6..99f04132c48b20532f638c647710be40ec92b48b 100644 --- "a/content/zh/docs/Container/\344\277\241\345\217\267\351\207\217\346\256\213\347\225\231.md" +++ "b/content/zh/docs/Container/\344\277\241\345\217\267\351\207\217\346\256\213\347\225\231.md" @@ -1,6 +1,6 @@ # 信号量残留 -使用devicemapper作为graphdriver时,强杀可能导致信号量残留。docker在操作dm的过程中会创建信号量,如果在释放信号量前,daemon被强杀,可能导致该信号量无法释放,一次强杀最多泄露一个信号量,泄露概率低。而linux系统有信号量上限限制,当信号量泄露次数达到上线值时将无法创建新的信号量,进而导致docker daemon启动失败。排查方法如下: +使用devicemapper作为graphdriver时,强制退出强制退出可能导致信号量残留。docker在操作dm的过程中会创建信号量,如果在释放信号量前,daemon被强制退出,可能导致该信号量无法释放,一次强制退出最多泄露一个信号量,泄露概率低。而linux系统有信号量上限限制,当信号量泄露次数达到上线值时将无法创建新的信号量,进而导致docker daemon启动失败。排查方法如下: 1. 首先查看系统上残留的信号量 diff --git "a/content/zh/docs/Container/\345\201\234\346\255\242\344\270\216\345\210\240\351\231\244\345\256\271\345\231\250.md" "b/content/zh/docs/Container/\345\201\234\346\255\242\344\270\216\345\210\240\351\231\244\345\256\271\345\231\250.md" index a7d28efd2fc570c8084ba2b0838bdb6ab1a88226..6857810805ac835b82a3e6dae6b2e82243318f10 100644 --- "a/content/zh/docs/Container/\345\201\234\346\255\242\344\270\216\345\210\240\351\231\244\345\256\271\345\231\250.md" +++ "b/content/zh/docs/Container/\345\201\234\346\255\242\344\270\216\345\210\240\351\231\244\345\256\271\345\231\250.md" @@ -37,7 +37,7 @@ Stop的原理:(Restart会调用Stop流程) 1. Stop会首先给容器发送Stop 信号(15) 2. 然后等待一定的时间(这个时间就是用户输入的 t) -3. 过了一定时间,如果容器还活着,那么就发送kill信号(9)强杀 +3. 过了一定时间,如果容器还活着,那么就发送kill信号(9)使容器强制退出 输入参数t(单位s)的含义: diff --git "a/content/zh/docs/Container/\345\201\234\346\255\242\345\256\271\345\231\250.md" "b/content/zh/docs/Container/\345\201\234\346\255\242\345\256\271\345\231\250.md" index ad9169bcd6e2659f40ab1bd1dd6359adf4a59272..57e9406d099d3b433f6c844412060aa463a8d7b9 100644 --- "a/content/zh/docs/Container/\345\201\234\346\255\242\345\256\271\345\231\250.md" +++ "b/content/zh/docs/Container/\345\201\234\346\255\242\345\256\271\345\231\250.md" @@ -48,7 +48,7 @@ stop命令支持参数参考下表。 - 指定t参数且t<0时,请确保自己容器的应用会处理stop信号。 - Stop的原理:Stop会首先给容器发送Stop 信号(SIGTERM),然后等待一定的时间(这个时间就是用户输入的 t),过了指定时间如果容器还仍处于运行状态,那么就发送kill信号(SIGKILL)强杀。 + Stop的原理:Stop会首先给容器发送Stop 信号(SIGTERM),然后等待一定的时间(这个时间就是用户输入的 t),过了指定时间如果容器还仍处于运行状态,那么就发送kill信号(SIGKILL)使容器强制退出。 - 输入参数t的含义: diff --git "a/content/zh/docs/Container/\345\274\272\346\235\200docker\347\233\270\345\205\263\345\220\216\345\217\260\350\277\233\347\250\213\347\232\204\345\275\261\345\223\215.md" "b/content/zh/docs/Container/\345\274\272\346\235\200docker\347\233\270\345\205\263\345\220\216\345\217\260\350\277\233\347\250\213\347\232\204\345\275\261\345\223\215.md" index 93e4ca696714ce424525a69f3b3e56b25d077f5b..d9ba6ef42ef76a461d1f031bd2c6cd194144bb92 100644 --- "a/content/zh/docs/Container/\345\274\272\346\235\200docker\347\233\270\345\205\263\345\220\216\345\217\260\350\277\233\347\250\213\347\232\204\345\275\261\345\223\215.md" +++ "b/content/zh/docs/Container/\345\274\272\346\235\200docker\347\233\270\345\205\263\345\220\216\345\217\260\350\277\233\347\250\213\347\232\204\345\275\261\345\223\215.md" @@ -1,4 +1,4 @@ -# 强杀docker相关后台进程的影响 +# 强制退出docker相关后台进程的影响 -docker的调用链很长,强杀docker相关后台进程可能会导致一些数据状态不一致,本章节列举一些强杀可能导致的问题。 +docker的调用链很长,强制退出docker相关后台进程可能会导致一些数据状态不一致,本章节列举一些强制退出可能导致的问题。 diff --git "a/content/zh/docs/Container/\346\263\250\346\204\217\344\272\213\351\241\271.md" "b/content/zh/docs/Container/\346\263\250\346\204\217\344\272\213\351\241\271.md" new file mode 100644 index 0000000000000000000000000000000000000000..5279dc5ccf538841fba1f1b5ec739b72a6c08912 --- /dev/null +++ "b/content/zh/docs/Container/\346\263\250\346\204\217\344\272\213\351\241\271.md" @@ -0,0 +1,4 @@ +# 注意事项 + +- docker-engine rpm包与containerd rpm包、runc rpm包、podman rpm包不能同时安装。因为docker-engine rpm包中已经包含Docker运行所需的所有组件,其中包括containerd、runc、docker二进制,且containerd、runc和podman rpm包也分别提供了对应的二进制,所以重复安装时会出现软件包冲突。 + diff --git "a/content/zh/docs/Container/\347\275\221\345\215\241\346\256\213\347\225\231.md" "b/content/zh/docs/Container/\347\275\221\345\215\241\346\256\213\347\225\231.md" index 59840c384dbd4af2f31acbdc3f0ca47ba0f5aa94..b3ec1058b1583b11b5eaad014683b7cdd5fd7ab1 100644 --- "a/content/zh/docs/Container/\347\275\221\345\215\241\346\256\213\347\225\231.md" +++ "b/content/zh/docs/Container/\347\275\221\345\215\241\346\256\213\347\225\231.md" @@ -1,4 +1,4 @@ # 网卡残留 -使用bridge模式启动容器的过程中,强杀daemon可能导致网卡残留。使用bridge网络模式,当docker创建容器时,会先在host上创建一对veth,然后再把该网卡信息存到数据库中,如果在创建完成,存到docker的数据库之前,daemon被强杀,那么该网卡无法被docker关联,下次启动也无法删除(docker本身会清理自己数据库中不用的网卡),从而造成网卡残留。 +使用bridge模式启动容器的过程中,强制退出daemon可能导致网卡残留。使用bridge网络模式,当docker创建容器时,会先在host上创建一对veth,然后再把该网卡信息存到数据库中,如果在创建完成,存到docker的数据库之前,daemon被强制退出,那么该网卡无法被docker关联,下次启动也无法删除(docker本身会清理自己数据库中不用的网卡),从而造成网卡残留。 diff --git "a/content/zh/docs/Container/\351\207\215\345\220\257\345\256\271\345\231\250.md" "b/content/zh/docs/Container/\351\207\215\345\220\257\345\256\271\345\231\250.md" index 85cc727ea554fc0e3ef6873aac53543bcb64851f..7cdf6e1c17f2ffb6a7bd8fca6cd0add65d2d165e 100644 --- "a/content/zh/docs/Container/\351\207\215\345\220\257\345\256\271\345\231\250.md" +++ "b/content/zh/docs/Container/\351\207\215\345\220\257\345\256\271\345\231\250.md" @@ -43,7 +43,7 @@ restart命令支持参数参考下表。 - 指定t参数且t<0时,请确保自己容器的应用会处理stop信号。 - restart会首先调用stop停止容器。stop会首先给容器发送stop信号(SIGTERM),然后等待一定的时间(这个时间就是用户输入的 t),过了一定时间如果容器仍处于运行状态,那么就发送kill信号(SIGKILL)强杀。 + restart会首先调用stop停止容器。stop会首先给容器发送stop信号(SIGTERM),然后等待一定的时间(这个时间就是用户输入的 t),过了一定时间如果容器仍处于运行状态,那么就发送kill信号(SIGKILL)使容器强制退出。 - 输入参数t的含义: diff --git "a/content/zh/docs/Container/\351\207\215\345\220\257\345\256\271\345\231\250\345\244\261\350\264\245.md" "b/content/zh/docs/Container/\351\207\215\345\220\257\345\256\271\345\231\250\345\244\261\350\264\245.md" index 0217b8cc2432292a718e5b8196e25f0ea41e1c57..9e361fbeccdfaa9336aa09e5893145812a30cd3e 100644 --- "a/content/zh/docs/Container/\351\207\215\345\220\257\345\256\271\345\231\250\345\244\261\350\264\245.md" +++ "b/content/zh/docs/Container/\351\207\215\345\220\257\345\256\271\345\231\250\345\244\261\350\264\245.md" @@ -1,6 +1,6 @@ # 重启容器失败 -容器hook耗时较长,且启动阶段遇到containerd强杀,再次执行容器start操作可能失败。容器启动阶段遇到containerd被强杀,docker start操作直接返回错误;containerd被重新拉起后,上次启动可能仍处于runc create执行阶段(执行用户自定义hook,可能耗时较长),此时再次下发docker start命令启动该容器,可能提示以下错误: +容器hook耗时较长,且启动阶段遇到containerd被强制退出,再次执行容器start操作可能失败。容器启动阶段遇到containerd被强制退出,docker start操作直接返回错误;containerd被重新拉起后,上次启动可能仍处于runc create执行阶段(执行用户自定义hook,可能耗时较长),此时再次下发docker start命令启动该容器,可能提示以下错误: ``` Error response from daemon: oci runtime error: container with id exists: xxxxxx diff --git a/content/zh/menu/index.md b/content/zh/menu/index.md index 46c0a1e49e2f146349113c5cd5c6dc6e39ff3d5f..f1a577127fab76e3fe466164a2121c0c4ed08f72 100644 --- a/content/zh/menu/index.md +++ b/content/zh/menu/index.md @@ -564,6 +564,7 @@ headless: true - [安装部署]({{< relref "/docs/Container/安装部署-30.md" >}}) - [安装配置介绍及注意事项]({{< relref "/docs/Container/安装配置介绍及注意事项.md" >}}) - [基本安装配置]({{< relref "/docs/Container/基本安装配置.md" >}}) + - [注意事项]({{< relref "/docs/Container/注意事项.md" >}}) - [配置daemon参数]({{< relref "/docs/Container/配置daemon参数.md" >}}) - [daemon运行目录配置]({{< relref "/docs/Container/daemon运行目录配置.md" >}}) - [daemon自带网络配置]({{< relref "/docs/Container/daemon自带网络配置.md" >}}) @@ -581,7 +582,7 @@ headless: true - [配置overlay2存储驱动]({{< relref "/docs/Container/配置overlay2存储驱动.md" >}}) - [配置devicemapper存储驱动]({{< relref "/docs/Container/配置devicemapper存储驱动-31.md" >}}) - - [强杀docker相关后台进程的影响]({{< relref "/docs/Container/强杀docker相关后台进程的影响.md" >}}) + - [强制退出docker相关后台进程的影响]({{< relref "/docs/Container/强杀docker相关后台进程的影响.md" >}}) - [信号量残留]({{< relref "/docs/Container/信号量残留.md" >}}) - [网卡残留]({{< relref "/docs/Container/网卡残留.md" >}}) - [重启容器失败]({{< relref "/docs/Container/重启容器失败.md" >}}) diff --git "a/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS A-Tune\347\224\250\346\210\267\346\214\207\345\215\227.pdf" "b/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS A-Tune\347\224\250\346\210\267\346\214\207\345\215\227.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..1b9535a74b3dc42f0f58706f99cdc4c06cfa78d9 Binary files /dev/null and "b/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS A-Tune\347\224\250\346\210\267\346\214\207\345\215\227.pdf" differ diff --git "a/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS \345\256\211\345\205\250\345\212\240\345\233\272\346\214\207\345\215\227.pdf" "b/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS \345\256\211\345\205\250\345\212\240\345\233\272\346\214\207\345\215\227.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..4a1da676349bec2afecd12c321fb4a1ac0fb9c05 Binary files /dev/null and "b/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS \345\256\211\345\205\250\345\212\240\345\233\272\346\214\207\345\215\227.pdf" differ diff --git "a/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS \345\256\271\345\231\250\347\224\250\346\210\267\346\214\207\345\215\227.pdf" "b/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS \345\256\271\345\231\250\347\224\250\346\210\267\346\214\207\345\215\227.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..24787e9d890be9d682ff65568d76d7ba62b6deb8 Binary files /dev/null and "b/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS \345\256\271\345\231\250\347\224\250\346\210\267\346\214\207\345\215\227.pdf" differ diff --git "a/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS \350\231\232\346\213\237\345\214\226\347\224\250\346\210\267\346\214\207\345\215\227.pdf" "b/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS \350\231\232\346\213\237\345\214\226\347\224\250\346\210\267\346\214\207\345\215\227.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..13152516718ec34414adef245f3b06d3bffae0f3 Binary files /dev/null and "b/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS \350\231\232\346\213\237\345\214\226\347\224\250\346\210\267\346\214\207\345\215\227.pdf" differ