learn.lianglianglee.com/专栏/容器实战高手课/index.html
2022-08-14 03:40:33 +08:00

199 lines
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- saved from url=(0046)https://kaiiiz.github.io/hexo-theme-book-demo/ -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<link rel="icon" href="/static/favicon.png">
<title>note-submit</title>
<!-- Spectre.css framework -->
<link rel="stylesheet" href="/static/index.css">
<!-- theme css & js -->
<meta name="generator" content="Hexo 4.2.0">
</head>
<body>
<div class="book-container">
<div class="book-sidebar">
<div class="book-brand">
<a href="/">
<img src="/static/favicon.png">
<span>技术文章摘抄</span>
</a>
</div>
<div class="book-menu uncollapsible">
<ul class="uncollapsible">
<li><a href="/" class="current-tab">首页</a></li>
</ul>
<ul class="uncollapsible">
<li><a href="../">上一级</a></li>
</ul>
<ul class="uncollapsible">
<li>
<a href="/PDF">PDF</a>
</li>
<li>
<a href="/专栏">专栏</a>
</li>
<li>
<a href="/恋爱必修课">恋爱必修课</a>
</li>
<li>
<a href="/文章">文章</a>
</li>
<li>
<a href="/极客时间">极客时间</a>
</li>
</ul>
</div>
</div>
<div class="sidebar-toggle" onclick="sidebar_toggle()" onmouseover="add_inner()" onmouseleave="remove_inner()">
<div class="sidebar-toggle-inner"></div>
</div>
<script>
function add_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.add('show')
}
function remove_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.remove('show')
}
function sidebar_toggle() {
let sidebar_toggle = document.querySelector('.sidebar-toggle')
let sidebar = document.querySelector('.book-sidebar')
let content = document.querySelector('.off-canvas-content')
if (sidebar_toggle.classList.contains('extend')) { // show
sidebar_toggle.classList.remove('extend')
sidebar.classList.remove('hide')
content.classList.remove('extend')
} else { // hide
sidebar_toggle.classList.add('extend')
sidebar.classList.add('hide')
content.classList.add('extend')
}
}
function open_sidebar() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.add('show')
overlay.classList.add('show')
}
function hide_canvas() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.remove('show')
overlay.classList.remove('show')
}
</script>
<div class="off-canvas-content">
<div class="columns">
<div class="column col-12 col-lg-12">
<div class="book-navbar">
<!-- For Responsive Layout -->
<header class="navbar">
<section class="navbar-section">
<a onclick="open_sidebar()">
<i class="icon icon-menu"></i>
</a>
</section>
</header>
</div>
<div class="book-content"
style="max-width: 960px; margin: 0 auto; overflow-x: auto; overflow-y: hidden;">
<div class="book-post">
<p id="tip" align="center"></p>
<div><!--add content-->
<h1>容器实战高手课</h1>
<ul>
<li><a href = '\专栏\容器实战高手课\00 开篇词 一个态度两个步骤,成为容器实战高手.md.html'>00 开篇词 一个态度两个步骤,成为容器实战高手</a></li>
<li><a href = '\专栏\容器实战高手课\01 认识容器:容器的基本操作和实现原理.md.html'>01 认识容器:容器的基本操作和实现原理</a></li>
<li><a href = '\专栏\容器实战高手课\02 理解进程1为什么我在容器中不能kill 1号进程.md.html'>02 理解进程1为什么我在容器中不能kill 1号进程</a></li>
<li><a href = '\专栏\容器实战高手课\03 理解进程2为什么我的容器里有这么多僵尸进程.md.html'>03 理解进程2为什么我的容器里有这么多僵尸进程</a></li>
<li><a href = '\专栏\容器实战高手课\04 理解进程3为什么我在容器中的进程被强制杀死了.md.html'>04 理解进程3为什么我在容器中的进程被强制杀死了</a></li>
<li><a href = '\专栏\容器实战高手课\05 容器CPU1怎么限制容器的CPU使用.md.html'>05 容器CPU1怎么限制容器的CPU使用</a></li>
<li><a href = '\专栏\容器实战高手课\06 容器CPU2如何正确地拿到容器CPU的开销.md.html'>06 容器CPU2如何正确地拿到容器CPU的开销</a></li>
<li><a href = '\专栏\容器实战高手课\07 Load Average加了CPU Cgroup限制为什么我的容器还是很慢.md.html'>07 Load Average加了CPU Cgroup限制为什么我的容器还是很慢</a></li>
<li><a href = '\专栏\容器实战高手课\08 容器内存:我的容器为什么被杀了?.md.html'>08 容器内存:我的容器为什么被杀了?</a></li>
<li><a href = '\专栏\容器实战高手课\09 Page Cache为什么我的容器内存使用量总是在临界点.md.html'>09 Page Cache为什么我的容器内存使用量总是在临界点</a></li>
<li><a href = '\专栏\容器实战高手课\10 Swap容器可以使用Swap空间吗.md.html'>10 Swap容器可以使用Swap空间吗</a></li>
<li><a href = '\专栏\容器实战高手课\11 容器文件系统:我在容器中读写文件怎么变慢了.md.html'>11 容器文件系统:我在容器中读写文件怎么变慢了</a></li>
<li><a href = '\专栏\容器实战高手课\12 容器文件Quota容器为什么把宿主机的磁盘写满了.md.html'>12 容器文件Quota容器为什么把宿主机的磁盘写满了</a></li>
<li><a href = '\专栏\容器实战高手课\13 容器磁盘限速:我的容器里磁盘读写为什么不稳定.md.html'>13 容器磁盘限速:我的容器里磁盘读写为什么不稳定</a></li>
<li><a href = '\专栏\容器实战高手课\14 容器中的内存与IO容器写文件的延时为什么波动很大.md.html'>14 容器中的内存与IO容器写文件的延时为什么波动很大</a></li>
<li><a href = '\专栏\容器实战高手课\15 容器网络我修改了procsysnet下的参数为什么在容器中不起效.md.html'>15 容器网络我修改了procsysnet下的参数为什么在容器中不起效</a></li>
<li><a href = '\专栏\容器实战高手课\16 容器网络配置1容器网络不通了要怎么调试.md.html'>16 容器网络配置1容器网络不通了要怎么调试</a></li>
<li><a href = '\专栏\容器实战高手课\17 容器网络配置2容器网络延时要比宿主机上的高吗.md.html'>17 容器网络配置2容器网络延时要比宿主机上的高吗</a></li>
<li><a href = '\专栏\容器实战高手课\18 容器网络配置3容器中的网络乱序包怎么这么高.md.html'>18 容器网络配置3容器中的网络乱序包怎么这么高</a></li>
<li><a href = '\专栏\容器实战高手课\19 容器安全1我的容器真的需要privileged权限吗.md.html'>19 容器安全1我的容器真的需要privileged权限吗</a></li>
<li><a href = '\专栏\容器实战高手课\20 容器安全2在容器中我不以root用户来运行程序可以吗.md.html'>20 容器安全2在容器中我不以root用户来运行程序可以吗</a></li>
<li><a href = '\专栏\容器实战高手课\加餐01 案例分析怎么解决海量IPVS规则带来的网络延时抖动问题.md.html'>加餐01 案例分析怎么解决海量IPVS规则带来的网络延时抖动问题</a></li>
<li><a href = '\专栏\容器实战高手课\加餐02 理解perf怎么用perf聚焦热点函数.md.html'>加餐02 理解perf怎么用perf聚焦热点函数</a></li>
<li><a href = '\专栏\容器实战高手课\加餐03 理解ftrace1怎么应用ftrace查看长延时内核函数.md.html'>加餐03 理解ftrace1怎么应用ftrace查看长延时内核函数</a></li>
<li><a href = '\专栏\容器实战高手课\加餐04 理解ftrace2怎么理解ftrace背后的技术tracepoint和kprobe.md.html'>加餐04 理解ftrace2怎么理解ftrace背后的技术tracepoint和kprobe</a></li>
<li><a href = '\专栏\容器实战高手课\加餐05 eBPF怎么更加深入地查看内核中的函数.md.html'>加餐05 eBPF怎么更加深入地查看内核中的函数</a></li>
<li><a href = '\专栏\容器实战高手课\加餐06 BCC入门eBPF的前端工具.md.html'>加餐06 BCC入门eBPF的前端工具</a></li>
<li><a href = '\专栏\容器实战高手课\加餐福利 课后思考题答案合集.md.html'>加餐福利 课后思考题答案合集</a></li>
<li><a href = '\专栏\容器实战高手课\结束语 跳出舒适区,突破思考的惰性.md.html'>结束语 跳出舒适区,突破思考的惰性</a></li>
</ul>
</div>
</div>
<div>
</div>
</div>
</div>
</div>
</div>
<a class="off-canvas-overlay" onclick="hide_canvas()"></a>
</div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194"
integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw=="
data-cf-beacon='{"rayId":"70996b2f083d3d60","version":"2021.12.0","r":1,"token":"1f5d475227ce4f0089a7cff1ab17c0f5","si":100}'
crossorigin="anonymous"></script>
</body>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-NPSEEVD756"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-NPSEEVD756');
var path = window.location.pathname
var cookie = getCookie("lastPath");
console.log(path)
if (path.replace("/", "") === "") {
if (cookie.replace("/", "") !== "") {
console.log(cookie)
document.getElementById("tip").innerHTML = "<a href='" + cookie + "'>跳转到上次进度</a>"
}
} else {
setCookie("lastPath", path)
}
function setCookie(cname, cvalue) {
var d = new Date();
d.setTime(d.getTime() + (180 * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires + ";path = /";
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
}
return "";
}
</script>
</html>