## Busybox
### 简介
![](https://box.kancloud.cn/a200c2b43fcfa383ff59e090fcb85aa4_164x116.png)
BusyBox 是一个集成了一百多个最常用 Linux 命令和工具(如 cat、echo、grep、mount、telnet 等)的精简工具箱,它只需要几 MB 的大小,很方便进行各种快速验证,被誉为“Linux 系统的瑞士军刀”。
BusyBox 可运行于多款 POSIX 环境的操作系统中,如 Linux(包括 Android)、Hurd、FreeBSD 等。
### 获取官方镜像
在 Docker Hub 中搜索 busybox 相关的镜像。
```
<pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">$ docker search busybox</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">NAME DESCRIPTION STARS OFFICIAL AUTOMATED</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">busybox </span><span class="typ">Busybox</span><span class="pln"> base image</span><span class="pun">.</span><span class="pln"> </span><span class="lit">755</span><span class="pln"> </span><span class="pun">[</span><span class="pln">OK</span><span class="pun">]</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">progrium</span><span class="pun">/</span><span class="pln">busybox </span><span class="lit">63</span><span class="pln"> </span><span class="pun">[</span><span class="pln">OK</span><span class="pun">]</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">radial</span><span class="pun">/</span><span class="pln">busyboxplus </span><span class="typ">Full</span><span class="pun">-</span><span class="pln">chain</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Internet</span><span class="pln"> enabled</span><span class="pun">,</span><span class="pln"> busybox made</span><span class="pun">...</span><span class="pln"> </span><span class="lit">11</span><span class="pln"> </span><span class="pun">[</span><span class="pln">OK</span><span class="pun">]</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">odise</span><span class="pun">/</span><span class="pln">busybox</span><span class="pun">-</span><span class="pln">python </span><span class="lit">3</span><span class="pln"> </span><span class="pun">[</span><span class="pln">OK</span><span class="pun">]</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">multiarch</span><span class="pun">/</span><span class="pln">busybox multiarch ports of ubuntu</span><span class="pun">-</span><span class="pln">debootstrap </span><span class="lit">2</span><span class="pln"> </span><span class="pun">[</span><span class="pln">OK</span><span class="pun">]</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">azukiapp</span><span class="pun">/</span><span class="pln">busybox </span><span class="typ">This</span><span class="pln"> image is meant to be used as the base</span><span class="pun">...</span><span class="pln"> </span><span class="lit">2</span><span class="pln"> </span><span class="pun">[</span><span class="pln">OK</span><span class="pun">]</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pun">...</span></code></li>
</ol>
```
读者可以看到最受欢迎的镜像同时带有 OFFICIAL 标记,说明它是官方镜像。用户使用 docker pull 指令下载镜像 `busybox:latest`:
```
<pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">$ docker pull busybox</span><span class="pun">:</span><span class="pln">latest</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">busybox</span><span class="pun">:</span><span class="pln">latest</span><span class="pun">:</span><span class="pln"> </span><span class="typ">The</span><span class="pln"> image you are pulling has been verified</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">e433a6c5b276</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Pull</span><span class="pln"> complete</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">e72ac664f4f0</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Pull</span><span class="pln"> complete</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="lit">511136ea3c5a</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Pull</span><span class="pln"> complete</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">df7546f9f060</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Pull</span><span class="pln"> complete</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="typ">Status</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Downloaded</span><span class="pln"> newer image </span><span class="kwd">for</span><span class="pln"> busybox</span><span class="pun">:</span><span class="pln">latest</span></code></li>
</ol>
```
下载后,可以看到 busybox 镜像只有2.433 MB:
```
<pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">$ docker image ls</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">busybox latest e72ac664f4f0 </span><span class="lit">6</span><span class="pln"> weeks ago </span><span class="lit">2.433</span><span class="pln"> MB</span></code></li>
</ol>
```
### 运行 busybox
启动一个 busybox 容器,并在容器中执行 grep 命令。
```
<pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">$ docker run </span><span class="pun">-</span><span class="pln">it busybox</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pun">/</span><span class="pln"> </span><span class="com"># grep</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="typ">BusyBox</span><span class="pln"> v1</span><span class="pun">.</span><span class="lit">22.1</span><span class="pln"> </span><span class="pun">(</span><span class="lit">2014</span><span class="pun">-</span><span class="lit">05</span><span class="pun">-</span><span class="lit">22</span><span class="pln"> </span><span class="lit">23</span><span class="pun">:</span><span class="lit">22</span><span class="pun">:</span><span class="lit">11</span><span class="pln"> UTC</span><span class="pun">)</span><span class="pln"> multi</span><span class="pun">-</span><span class="pln">call binary</span><span class="pun">.</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="typ">Usage</span><span class="pun">:</span><span class="pln"> grep </span><span class="pun">[-</span><span class="typ">HhnlLoqvsriwFE</span><span class="pun">]</span><span class="pln"> </span><span class="pun">[-</span><span class="pln">m N</span><span class="pun">]</span><span class="pln"> </span><span class="pun">[-</span><span class="pln">A</span><span class="pun">/</span><span class="pln">B</span><span class="pun">/</span><span class="pln">C N</span><span class="pun">]</span><span class="pln"> PATTERN</span><span class="pun">/-</span><span class="pln">e PATTERN</span><span class="pun">.../-</span><span class="pln">f FILE </span><span class="pun">[</span><span class="pln">FILE</span><span class="pun">]...</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="typ">Search</span><span class="pln"> </span><span class="kwd">for</span><span class="pln"> PATTERN </span><span class="kwd">in</span><span class="pln"> </span><span class="typ">FILEs</span><span class="pln"> </span><span class="pun">(</span><span class="pln">or stdin</span><span class="pun">)</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln"> </span><span class="pun">-</span><span class="pln">H </span><span class="typ">Add</span><span class="pln"> </span><span class="str">'filename:'</span><span class="pln"> prefix</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln"> </span><span class="pun">-</span><span class="pln">h </span><span class="typ">Do</span><span class="pln"> not add </span><span class="str">'filename:'</span><span class="pln"> prefix</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln"> </span><span class="pun">-</span><span class="pln">n </span><span class="typ">Add</span><span class="pln"> </span><span class="str">'line_no:'</span><span class="pln"> prefix</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln"> </span><span class="pun">-</span><span class="pln">l </span><span class="typ">Show</span><span class="pln"> only names of files that match</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln"> </span><span class="pun">-</span><span class="pln">L </span><span class="typ">Show</span><span class="pln"> only names of files that don</span><span class="str">'t match</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -c Show only count of matching lines</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -o Show only the matching part of line</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -q Quiet. Return 0 if PATTERN is found, 1 otherwise</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -v Select non-matching lines</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -s Suppress open and read errors</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -r Recurse</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -i Ignore case</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -w Match whole words only</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -x Match whole lines only</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -F PATTERN is a literal (not regexp)</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -E PATTERN is an extended regexp</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -m N Match up to N times per file</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -A N Print N lines of trailing context</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -B N Print N lines of leading context</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -C N Same as '</span><span class="pun">-</span><span class="pln">A N </span><span class="pun">-</span><span class="pln">B N</span><span class="str">'</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -e PTRN Pattern to match</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="str"> -f FILE Read pattern from file</span></code></li>
</ol>
```
查看容器内的挂载信息。
```
<pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pun">/</span><span class="pln"> </span><span class="com"># mount</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">rootfs on </span><span class="pun">/</span><span class="pln"> type rootfs </span><span class="pun">(</span><span class="pln">rw</span><span class="pun">)</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">none on </span><span class="pun">/</span><span class="pln"> type aufs </span><span class="pun">(</span><span class="pln">rw</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">,</span><span class="pln">si</span><span class="pun">=</span><span class="pln">b455817946f8505c</span><span class="pun">)</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">proc on </span><span class="pun">/</span><span class="pln">proc type proc </span><span class="pun">(</span><span class="pln">rw</span><span class="pun">,</span><span class="pln">nosuid</span><span class="pun">,</span><span class="pln">nodev</span><span class="pun">,</span><span class="pln">noexec</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">)</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">tmpfs on </span><span class="pun">/</span><span class="pln">dev type tmpfs </span><span class="pun">(</span><span class="pln">rw</span><span class="pun">,</span><span class="pln">nosuid</span><span class="pun">,</span><span class="pln">mode</span><span class="pun">=</span><span class="lit">755</span><span class="pun">)</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">shm on </span><span class="pun">/</span><span class="pln">dev</span><span class="pun">/</span><span class="pln">shm type tmpfs </span><span class="pun">(</span><span class="pln">rw</span><span class="pun">,</span><span class="pln">nosuid</span><span class="pun">,</span><span class="pln">nodev</span><span class="pun">,</span><span class="pln">noexec</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">,</span><span class="pln">size</span><span class="pun">=</span><span class="lit">65536k</span><span class="pun">)</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">devpts on </span><span class="pun">/</span><span class="pln">dev</span><span class="pun">/</span><span class="pln">pts type devpts </span><span class="pun">(</span><span class="pln">rw</span><span class="pun">,</span><span class="pln">nosuid</span><span class="pun">,</span><span class="pln">noexec</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">,</span><span class="pln">gid</span><span class="pun">=</span><span class="lit">5</span><span class="pun">,</span><span class="pln">mode</span><span class="pun">=</span><span class="lit">620</span><span class="pun">,</span><span class="pln">ptmxmode</span><span class="pun">=</span><span class="lit">666</span><span class="pun">)</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">sysfs on </span><span class="pun">/</span><span class="pln">sys type sysfs </span><span class="pun">(</span><span class="pln">ro</span><span class="pun">,</span><span class="pln">nosuid</span><span class="pun">,</span><span class="pln">nodev</span><span class="pun">,</span><span class="pln">noexec</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">)</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pun">/</span><span class="pln">dev</span><span class="pun">/</span><span class="pln">disk</span><span class="pun">/</span><span class="pln">by</span><span class="pun">-</span><span class="pln">uuid</span><span class="pun">/</span><span class="pln">b1f2dba7</span><span class="pun">-</span><span class="pln">d91b</span><span class="pun">-</span><span class="lit">4165</span><span class="pun">-</span><span class="pln">a377</span><span class="pun">-</span><span class="pln">bf1a8bed3f61 on </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">resolv</span><span class="pun">.</span><span class="pln">conf type ext4 </span><span class="pun">(</span><span class="pln">rw</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">,</span><span class="pln">errors</span><span class="pun">=</span><span class="pln">remount</span><span class="pun">-</span><span class="pln">ro</span><span class="pun">,</span><span class="pln">data</span><span class="pun">=</span><span class="pln">ordered</span><span class="pun">)</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pun">/</span><span class="pln">dev</span><span class="pun">/</span><span class="pln">disk</span><span class="pun">/</span><span class="pln">by</span><span class="pun">-</span><span class="pln">uuid</span><span class="pun">/</span><span class="pln">b1f2dba7</span><span class="pun">-</span><span class="pln">d91b</span><span class="pun">-</span><span class="lit">4165</span><span class="pun">-</span><span class="pln">a377</span><span class="pun">-</span><span class="pln">bf1a8bed3f61 on </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">hostname type ext4 </span><span class="pun">(</span><span class="pln">rw</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">,</span><span class="pln">errors</span><span class="pun">=</span><span class="pln">remount</span><span class="pun">-</span><span class="pln">ro</span><span class="pun">,</span><span class="pln">data</span><span class="pun">=</span><span class="pln">ordered</span><span class="pun">)</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pun">/</span><span class="pln">dev</span><span class="pun">/</span><span class="pln">disk</span><span class="pun">/</span><span class="pln">by</span><span class="pun">-</span><span class="pln">uuid</span><span class="pun">/</span><span class="pln">b1f2dba7</span><span class="pun">-</span><span class="pln">d91b</span><span class="pun">-</span><span class="lit">4165</span><span class="pun">-</span><span class="pln">a377</span><span class="pun">-</span><span class="pln">bf1a8bed3f61 on </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">hosts type ext4 </span><span class="pun">(</span><span class="pln">rw</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">,</span><span class="pln">errors</span><span class="pun">=</span><span class="pln">remount</span><span class="pun">-</span><span class="pln">ro</span><span class="pun">,</span><span class="pln">data</span><span class="pun">=</span><span class="pln">ordered</span><span class="pun">)</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">devpts on </span><span class="pun">/</span><span class="pln">dev</span><span class="pun">/</span><span class="pln">console type devpts </span><span class="pun">(</span><span class="pln">rw</span><span class="pun">,</span><span class="pln">nosuid</span><span class="pun">,</span><span class="pln">noexec</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">,</span><span class="pln">gid</span><span class="pun">=</span><span class="lit">5</span><span class="pun">,</span><span class="pln">mode</span><span class="pun">=</span><span class="lit">620</span><span class="pun">,</span><span class="pln">ptmxmode</span><span class="pun">=</span><span class="lit">000</span><span class="pun">)</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">proc on </span><span class="pun">/</span><span class="pln">proc</span><span class="pun">/</span><span class="pln">sys type proc </span><span class="pun">(</span><span class="pln">ro</span><span class="pun">,</span><span class="pln">nosuid</span><span class="pun">,</span><span class="pln">nodev</span><span class="pun">,</span><span class="pln">noexec</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">)</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">proc on </span><span class="pun">/</span><span class="pln">proc</span><span class="pun">/</span><span class="pln">sysrq</span><span class="pun">-</span><span class="pln">trigger type proc </span><span class="pun">(</span><span class="pln">ro</span><span class="pun">,</span><span class="pln">nosuid</span><span class="pun">,</span><span class="pln">nodev</span><span class="pun">,</span><span class="pln">noexec</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">)</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">proc on </span><span class="pun">/</span><span class="pln">proc</span><span class="pun">/</span><span class="pln">irq type proc </span><span class="pun">(</span><span class="pln">ro</span><span class="pun">,</span><span class="pln">nosuid</span><span class="pun">,</span><span class="pln">nodev</span><span class="pun">,</span><span class="pln">noexec</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">)</span></code></li>
<li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">proc on </span><span class="pun">/</span><span class="pln">proc</span><span class="pun">/</span><span class="pln">bus type proc </span><span class="pun">(</span><span class="pln">ro</span><span class="pun">,</span><span class="pln">nosuid</span><span class="pun">,</span><span class="pln">nodev</span><span class="pun">,</span><span class="pln">noexec</span><span class="pun">,</span><span class="pln">relatime</span><span class="pun">)</span></code></li>
<li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">tmpfs on </span><span class="pun">/</span><span class="pln">proc</span><span class="pun">/</span><span class="pln">kcore type tmpfs </span><span class="pun">(</span><span class="pln">rw</span><span class="pun">,</span><span class="pln">nosuid</span><span class="pun">,</span><span class="pln">mode</span><span class="pun">=</span><span class="lit">755</span><span class="pun">)</span></code></li>
</ol>
```
busybox 镜像虽然小巧,但包括了大量常见的 Linux 命令,读者可以用它快速熟悉 Linux 命令。
### 相关资源
- `Busybox` 官网:<https://busybox.net/>
- `Busybox` 官方仓库:<https://git.busybox.net/busybox/>
- `Busybox` 官方镜像:[https://hub.docker.com/\_/busybox/](https://hub.docker.com/_/busybox/)
- `Busybox` 官方仓库:<https://github.com/docker-library/busybox>
- 致谢
- 目录
- 01. 前言
- 02. 修订记录
- 03. 如何贡献
- 04. Docker 简介
- 什么是 Docker
- 为什么要用 Docker
- 05. 基本概念
- 镜像
- 容器
- 仓库
- 06. 安装 Docker
- Ubuntu
- Debian
- CentOS
- Raspberry Pi
- macOS
- Windows PC
- 镜像加速器
- 07.使用镜像
- 获取镜像
- 列出镜像
- 删除本地镜像
- 利用 commit 理解镜像构成
- 使用 Dockerfile 定制镜像
- Dockerfile 指令详解
- COPY 复制文件
- ADD 更高级的复制文件
- CMD 容器启动命令
- ENTRYPOINT 入口点
- ENV 设置环境变量
- ARG 构建参数
- VOLUME 定义匿名卷
- EXPOSE 暴露端口
- WORKDIR 指定工作目录
- USER 指定当前用户
- HEALTHCHECK 健康检查
- ONBUILD 为他人作嫁衣裳
- 参考文档
- Dockerfile 多阶段构建
- 其它制作镜像的方式
- 实现原理
- 08. 操作容器
- 启动
- 守护态运行
- 终止
- 进入容器
- 导出和导入
- 删除
- 09. 访问仓库
- Docker Hub
- 私有仓库
- 私有仓库高级配置
- 10. 数据管理
- 数据卷
- 监听主机目录
- 11. 使用网络
- 外部访问容器
- 容器互联
- 配置 DNS
- 12. 高级网络配置
- 快速配置指南
- 容器访问控制
- 配置 docker0 网桥
- 自定义网桥
- 工具和示例
- 编辑网络配置文件
- 实例:创建一个点到点连接
- 映射容器端口到宿主主机的实现
- 13. Docker 三剑客之 Compose 项目
- 简介
- 安装与卸载
- 使用
- 命令说明
- Compose 模板文件
- 实战 Django
- 实战 Rails
- 实战 WordPress
- 14. Docker 三剑客之 Machine 项目
- 安装
- 使用
- 15. Docker 三剑客之 Docker Swarm
- 16. Swarm mode
- 基本概念
- 创建 Swarm 集群
- 部署服务
- 使用 compose 文件
- 管理敏感数据
- 管理配置信息
- 17. 安全
- 内核命名空间
- 控制组
- 服务端防护
- 内核能力机制
- 其它安全特性
- 总结
- 18. 底层实现
- 基本架构
- 命名空间
- 控制组
- 联合文件系统
- 容器格式
- 网络
- 19. Etcd 项目
- 简介
- 安装
- 集群
- 使用 etcdctl
- 使用 etcdctl v2
- 20. CoreOS 项目
- 简介
- 工具
- 快速搭建 CoreOS 集群
- 21. Kubernetes 项目
- 简介
- 快速上手
- 基本概念
- kubectl 使用
- 架构设计
- 22. Mesos - 优秀的集群资源调度平台
- Mesos 简介
- 安装与使用
- 原理与架构
- Mesos 配置项解析
- 日志与监控
- 常见应用框架
- 本章小结
- 23. 容器与云计算
- 简介
- 亚马逊云
- 腾讯云
- 阿里云
- 小结
- 24. 实战案例-操作系统
- Busybox
- Alpine
- Debian Ubuntu
- CentOS Fedora
- 本章小结
- 25. 实战案例-CI-CD
- Drone
- 26. Docker 开源项目
- LinuxKit
- 27. 附录
- 附录一:常见问题总结
- 附录二:热门镜像介绍
- Ubuntu
- CentOS
- MySQL
- MongoDB
- Redis
- Nginx
- WordPress
- Node.js
- 附录三:Docker 命令查询
- 附录四:Dockerfile 最佳实践
- 附录五:资源链接
- 附录六:Docker 中文资源