doc: update docker.md. 2fbf2151b6

This commit is contained in:
jaywcjlove
2022-11-02 05:22:02 +00:00
parent 9d4a9da737
commit cb4cf79e42

View File

@ -41,7 +41,7 @@
<p>这是 <a href="https://docs.docker.com/get-started/">Docker</a> 的快速参考备忘单。 你可以在这里找到最常见的 Docker 命令。</p>
</div></header><div class="menu-tocs"><div class="menu-btn"><svg aria-hidden="true" fill="currentColor" height="1em" width="1em" viewBox="0 0 16 16" version="1.1" data-view-component="true">
<path fill-rule="evenodd" d="M2 4a1 1 0 100-2 1 1 0 000 2zm3.75-1.5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z"></path>
</svg></div><div class="menu-modal"><a aria-hidden="true" class="leve2 tocs-link" href="#入门">入门</a><a aria-hidden="true" class="leve3 tocs-link" href="#入门-1">入门</a><a aria-hidden="true" class="leve3 tocs-link" href="#一般命令">一般命令</a><a aria-hidden="true" class="leve2 tocs-link" href="#docker-容器">Docker 容器</a><a aria-hidden="true" class="leve3 tocs-link" href="#启动和停止">启动和停止</a><a aria-hidden="true" class="leve3 tocs-link" href="#说明">说明</a><a aria-hidden="true" class="leve3 tocs-link" href="#创建容器">创建容器</a><a aria-hidden="true" class="leve4 tocs-link" href="#实例">实例</a><a aria-hidden="true" class="leve3 tocs-link" href="#操控">操控</a><a aria-hidden="true" class="leve2 tocs-link" href="#docker-镜像">Docker 镜像</a><a aria-hidden="true" class="leve3 tocs-link" href="#操控-1">操控</a><a aria-hidden="true" class="leve3 tocs-link" href="#构建镜像">构建镜像</a><a aria-hidden="true" class="leve2 tocs-link" href="#docker-网络">Docker 网络</a><a aria-hidden="true" class="leve3 tocs-link" href="#操作">操作</a><a aria-hidden="true" class="leve3 tocs-link" href="#创建网络">创建网络</a><a aria-hidden="true" class="leve2 tocs-link" href="#各种各样的">各种各样的</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-hub">Docker Hub</a><a aria-hidden="true" class="leve3 tocs-link" href="#镜像仓库命令">镜像仓库命令</a><a aria-hidden="true" class="leve3 tocs-link" href="#批量清除">批量清除</a><a aria-hidden="true" class="leve3 tocs-link" href="#卷-volume">卷 volume</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-compose">Docker Compose</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-services">Docker Services</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-stack">Docker Stack</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-machine">Docker Machine</a><a aria-hidden="true" class="leve2 tocs-link" href="#另见">另见</a></div></div><div class="h1wrap-body"><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="入门"><a aria-hidden="true" tabindex="-1" href="#入门"><span class="icon icon-link"></span></a>入门</h2><div class="wrap-body">
</svg></div><div class="menu-modal"><a aria-hidden="true" class="leve2 tocs-link" href="#入门">入门</a><a aria-hidden="true" class="leve3 tocs-link" href="#入门-1">入门</a><a aria-hidden="true" class="leve3 tocs-link" href="#一般命令">一般命令</a><a aria-hidden="true" class="leve2 tocs-link" href="#docker-容器">Docker 容器</a><a aria-hidden="true" class="leve3 tocs-link" href="#启动和停止">启动和停止</a><a aria-hidden="true" class="leve3 tocs-link" href="#说明">说明</a><a aria-hidden="true" class="leve3 tocs-link" href="#创建容器">创建容器</a><a aria-hidden="true" class="leve4 tocs-link" href="#实例">实例</a><a aria-hidden="true" class="leve3 tocs-link" href="#操控">操控</a><a aria-hidden="true" class="leve2 tocs-link" href="#docker-镜像">Docker 镜像</a><a aria-hidden="true" class="leve3 tocs-link" href="#操控-1">操控</a><a aria-hidden="true" class="leve3 tocs-link" href="#构建镜像">构建镜像</a><a aria-hidden="true" class="leve2 tocs-link" href="#docker-网络">Docker 网络</a><a aria-hidden="true" class="leve3 tocs-link" href="#操作">操作</a><a aria-hidden="true" class="leve3 tocs-link" href="#创建网络">创建网络</a><a aria-hidden="true" class="leve2 tocs-link" href="#各种各样的">各种各样的</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-hub">Docker Hub</a><a aria-hidden="true" class="leve3 tocs-link" href="#镜像仓库命令">镜像仓库命令</a><a aria-hidden="true" class="leve3 tocs-link" href="#批量清除">批量清除</a><a aria-hidden="true" class="leve3 tocs-link" href="#卷-volume">卷 volume</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-compose">Docker Compose</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-services">Docker Services</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-stack">Docker Stack</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-machine">Docker Machine</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-主要命令">docker 主要命令</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-runcreate">docker run/create</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-全局参数">docker 全局参数</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-管理命令">docker 管理命令</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-images">docker images</a><a aria-hidden="true" class="leve2 tocs-link" href="#docker-示例">Docker 示例</a><a aria-hidden="true" class="leve3 tocs-link" href="#docker-web-管理工具-portainer">Docker Web 管理工具 portainer</a><a aria-hidden="true" class="leve3 tocs-link" href="#在线代码编辑器-code-server">在线代码编辑器 Code Server</a><a aria-hidden="true" class="leve3 tocs-link" href="#mysql">MySQL</a><a aria-hidden="true" class="leve3 tocs-link" href="#redis">Redis</a><a aria-hidden="true" class="leve3 tocs-link" href="#nginx">Nginx</a><a aria-hidden="true" class="leve3 tocs-link" href="#postgresql">PostgreSQL</a><a aria-hidden="true" class="leve3 tocs-link" href="#媒体管理工具-dim">媒体管理工具 Dim</a><a aria-hidden="true" class="leve3 tocs-link" href="#gitlab">Gitlab</a><a aria-hidden="true" class="leve2 tocs-link" href="#另见">另见</a></div></div><div class="h1wrap-body"><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="入门"><a aria-hidden="true" tabindex="-1" href="#入门"><span class="icon icon-link"></span></a>入门</h2><div class="wrap-body">
<!--rehype:body-class=cols-2-->
</div></div><div class="h2wrap-body cols-2"><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="入门-1"><a aria-hidden="true" tabindex="-1" href="#入门-1"><span class="icon icon-link"></span></a>入门</h3><div class="wrap-body">
<p>在后台创建和运行容器</p>
@ -607,6 +607,458 @@
<table><thead><tr><th align="left">:-</th><th align="left">:-</th></tr></thead><tbody><tr><td align="left"><code>docker-machine create --driver virtualbox myvm1</code></td><td align="left">创建虚拟机Mac、Win7、Linux</td></tr><tr><td align="left"><code>docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1</code></td><td align="left">Win10</td></tr><tr><td align="left"><code>docker-machine env myvm1</code></td><td align="left">查看有关您的节点的基本信息</td></tr><tr><td align="left"><code>docker-machine ssh myvm1 "docker node ls"</code></td><td align="left">列出集群中的节点</td></tr><tr><td align="left"><code>docker-machine ssh myvm1 "docker node inspect &#x3C;node ID>"</code></td><td align="left">检查节点</td></tr><tr><td align="left"><code>docker-machine ssh myvm1 "docker swarm join-token -q worker"</code></td><td align="left">查看加入令牌</td></tr><tr><td align="left"><code>docker-machine ssh myvm1</code></td><td align="left">打开与 VM 的 SSH 会话; 输入“exit”结束</td></tr><tr><td align="left"><code>docker-machine ssh myvm2 "docker swarm leave"</code></td><td align="left">让工人离开群体</td></tr><tr><td align="left"><code>docker-machine ssh myvm1 "docker swarm leave -f"</code></td><td align="left">让主人离开,杀群</td></tr><tr><td align="left"><code>docker-machine start myvm1</code></td><td align="left">启动当前未运行的 VM</td></tr><tr><td align="left"><code>docker-machine stop $(docker-machine ls -q)</code></td><td align="left">停止所有正在运行的虚拟机</td></tr><tr><td align="left"><code>docker-machine rm $(docker-machine ls -q)</code></td><td align="left">删除所有虚拟机及其磁盘映像</td></tr><tr><td align="left"><code>docker-machine scp docker-compose.yml myvm1:~</code></td><td align="left">将文件复制到节点的主目录</td></tr><tr><td align="left"><code>docker-machine ssh myvm1 "docker stack deploy -c &#x3C;file> &#x3C;app>"</code></td><td align="left">部署应用</td></tr></tbody></table>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="docker-主要命令"><a aria-hidden="true" tabindex="-1" href="#docker-主要命令"><span class="icon icon-link"></span></a>docker 主要命令</h3><div class="wrap-body">
<table><thead><tr><th align="left">:-</th><th align="left">:-</th></tr></thead><tbody><tr><td align="left"><code>attach</code></td><td align="left">将本地标准输入、输出和错误流附加到正在运行的容器</td></tr><tr><td align="left"><code>build</code></td><td align="left">从 Dockerfile 构建镜像</td></tr><tr><td align="left"><code>commit</code></td><td align="left">从容器的更改创建新图像</td></tr><tr><td align="left"><code>cp</code></td><td align="left">在容器和本地文件系统之间复制文件/文件夹</td></tr><tr><td align="left"><code>create</code></td><td align="left">创建一个新容器</td></tr><tr><td align="left"><code>diff</code></td><td align="left">检查容器文件系统上文件或目录的更改</td></tr><tr><td align="left"><code>events</code></td><td align="left">从服务器获取实时事件</td></tr><tr><td align="left"><code>exec</code></td><td align="left">在正在运行的容器中运行命令</td></tr><tr><td align="left"><code>export</code></td><td align="left">将容器的文件系统导出为 tar 存档</td></tr><tr><td align="left"><code>history</code></td><td align="left">显示图像的历史</td></tr><tr><td align="left"><code>images</code></td><td align="left">列出图像</td></tr><tr><td align="left"><code>import</code></td><td align="left">从 tarball 导入内容以创建文件系统映像</td></tr><tr><td align="left"><code>info</code></td><td align="left">显示系统范围的信息</td></tr><tr><td align="left"><code>inspect</code></td><td align="left">返回有关 Docker 对象的低级信息</td></tr><tr><td align="left"><code>kill</code></td><td align="left">杀死一个或多个正在运行的容器</td></tr><tr><td align="left"><code>load</code></td><td align="left">从 tar 存档或 STDIN 加载图像</td></tr><tr><td align="left"><code>login</code></td><td align="left">登录到 Docker 注册表</td></tr><tr><td align="left"><code>logout</code></td><td align="left">从 Docker 注册表中注销</td></tr><tr><td align="left"><code>logs</code></td><td align="left">获取容器的日志</td></tr><tr><td align="left"><code>pause</code></td><td align="left">暂停一个或多个容器内的所有进程</td></tr><tr><td align="left"><code>port</code></td><td align="left">列出容器的端口映射或特定映射</td></tr><tr><td align="left"><code>ps</code></td><td align="left">列出容器</td></tr><tr><td align="left"><code>pull</code></td><td align="left">从注册表中提取图像或存储库</td></tr><tr><td align="left"><code>push</code></td><td align="left">将图像或存储库推送到注册表</td></tr><tr><td align="left"><code>rename</code></td><td align="left">重命名容器</td></tr><tr><td align="left"><code>restart</code></td><td align="left">重启一个或多个容器</td></tr><tr><td align="left"><code>rm</code></td><td align="left">移除一个或多个容器</td></tr><tr><td align="left"><code>rmi</code></td><td align="left">移除一张或多张图片</td></tr><tr><td align="left"><code>run</code></td><td align="left">在新容器中运行命令</td></tr><tr><td align="left"><code>save</code></td><td align="left">将一个或多个图像保存到 tar 存档(默认流式传输到 STDOUT</td></tr><tr><td align="left"><code>search</code></td><td align="left"><code>Docker Hub</code> 中搜索图像</td></tr><tr><td align="left"><code>start</code></td><td align="left">启动一个或多个停止的容器</td></tr><tr><td align="left"><code>stats</code></td><td align="left">显示容器资源使用统计的实时流</td></tr><tr><td align="left"><code>stop</code></td><td align="left">停止一个或多个正在运行的容器</td></tr><tr><td align="left"><code>tag</code></td><td align="left">创建一个引用 SOURCE_IMAGE 的标记 TARGET_IMAGE</td></tr><tr><td align="left"><code>top</code></td><td align="left">显示容器的运行进程</td></tr><tr><td align="left"><code>unpause</code></td><td align="left">取消暂停一个或多个容器中的所有进程</td></tr><tr><td align="left"><code>update</code></td><td align="left">更新一个或多个容器的配置</td></tr><tr><td align="left"><code>version</code></td><td align="left">显示 Docker 版本信息</td></tr><tr><td align="left"><code>wait</code></td><td align="left">阻塞直到一个或多个容器停止,然后打印它们的退出代码</td></tr></tbody></table>
</div></div></div><div class="wrap h3body-not-exist row-span-3"><div class="wrap-header h3wrap"><h3 id="docker-runcreate"><a aria-hidden="true" tabindex="-1" href="#docker-runcreate"><span class="icon icon-link"></span></a>docker run/create</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-3-->
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"> --add-host list <span class="token comment"># 添加自定义主机到 IP 映射 (host:ip)</span>
</span><span class="code-line">-a, <span class="token parameter variable">--attach</span> list <span class="token comment"># 连接到 STDIN、STDOUT 或 STDERR</span>
</span><span class="code-line"> --blkio-weight uint16 <span class="token comment"># 块 IO相对权重介于 10 和 1000 之间,或 0 禁用(默认 0</span>
</span><span class="code-line"> --blkio-weight-device list <span class="token comment"># 块 IO 权重(相对设备权重)(默认 []</span>
</span><span class="code-line"> --cap-add list <span class="token comment"># 添加 Linux 功能</span>
</span><span class="code-line"> --cap-drop list <span class="token comment"># 放弃 Linux 功能</span>
</span><span class="code-line"> --cgroup-parent string <span class="token comment"># 容器的可选父 cgroup</span>
</span><span class="code-line"> <span class="token parameter variable">--cgroupns</span> string <span class="token comment"># 要使用的 Cgroup 命名空间(主机|私有)</span>
</span><span class="code-line"> <span class="token comment"># 'host': 在 Docker 主机的 cgroup 命名空间中运行容器</span>
</span><span class="code-line"> <span class="token comment"># 'private': 在自己的私有 cgroup 命名空间中运行容器</span>
</span><span class="code-line"> <span class="token comment"># '': 使用由守护进程上的 </span>
</span><span class="code-line"> <span class="token comment"># default-cgroupns-mode 选项配置的 cgroup 命名空间(默认)</span>
</span><span class="code-line"> <span class="token parameter variable">--cidfile</span> string <span class="token comment"># 将容器 ID 写入文件</span>
</span><span class="code-line"> --cpu-period int <span class="token comment"># 限制 CPU CFS完全公平调度器周期</span>
</span><span class="code-line"> --cpu-quota int <span class="token comment"># 限制 CPU CFS完全公平调度器配额</span>
</span><span class="code-line"> --cpu-rt-period int <span class="token comment"># 以微秒为单位限制 CPU 实时周期</span>
</span><span class="code-line"> --cpu-rt-runtime int <span class="token comment"># 以微秒为单位限制 CPU 实时运行时间</span>
</span><span class="code-line">-c, --cpu-shares int <span class="token comment"># CPU 份额(相对权重)</span>
</span><span class="code-line"> <span class="token parameter variable">--cpus</span> decimal <span class="token comment"># CPU 数量</span>
</span><span class="code-line"> --cpuset-cpus string <span class="token comment"># 允许执行的 CPU (0-3, 0,1)</span>
</span><span class="code-line"> --cpuset-mems string <span class="token comment"># 允许执行的 MEM (0-3, 0,1)</span>
</span><span class="code-line"> <span class="token parameter variable">--device</span> list <span class="token comment"># 将主机设备添加到容器</span>
</span><span class="code-line"> --device-cgroup-rule list <span class="token comment"># 将规则添加到 cgroup 允许的设备列表</span>
</span><span class="code-line"> --device-read-bps list <span class="token comment"># 限制设备的读取速率(每秒字节数)(默认 []</span>
</span><span class="code-line"> --device-read-iops list <span class="token comment"># 限制设备的读取速率(每秒 IO默认 []</span>
</span><span class="code-line"> --device-write-bps list <span class="token comment"># 限制设备的写入速率(每秒字节数)(默认 []</span>
</span><span class="code-line"> --device-write-iops list <span class="token comment"># 限制设备的写入速率(每秒 IO默认 []</span>
</span><span class="code-line"> --disable-content-trust <span class="token comment"># 跳过图像验证(默认为 true</span>
</span><span class="code-line"> <span class="token parameter variable">--dns</span> list <span class="token comment"># 设置自定义 DNS 服务器</span>
</span><span class="code-line"> --dns-option list <span class="token comment"># 设置 DNS 选项</span>
</span><span class="code-line"> --dns-search list <span class="token comment"># 设置自定义 DNS 搜索域</span>
</span><span class="code-line"> <span class="token parameter variable">--domainname</span> string <span class="token comment"># 容器 NIS 域名</span>
</span><span class="code-line"> <span class="token parameter variable">--entrypoint</span> string <span class="token comment"># 覆盖图像的默认入口点</span>
</span><span class="code-line">-e, <span class="token parameter variable">--env</span> list <span class="token comment"># 设置环境变量</span>
</span><span class="code-line"> --env-file list <span class="token comment"># 读入环境变量文件</span>
</span><span class="code-line"> <span class="token parameter variable">--expose</span> list <span class="token comment"># 公开一个端口或一系列端口</span>
</span><span class="code-line"> <span class="token parameter variable">--gpus</span> gpu-request <span class="token comment"># 要添加到容器中的 GPU 设备(“全部”以传递所有 GPU</span>
</span><span class="code-line"> --group-add list <span class="token comment"># 添加其他组以加入</span>
</span><span class="code-line"> --health-cmd string <span class="token comment"># 运行以检查运行状况的命令</span>
</span><span class="code-line"> --health-interval duration <span class="token comment"># 运行检查之间的时间 (ms|s|m|h) (默认 0s)</span>
</span><span class="code-line"> --health-retries int <span class="token comment"># 需要报告不健康的连续失败</span>
</span><span class="code-line"> --health-start-period duration <span class="token comment"># 开始健康重试倒计时之前容器初始化的开始时间ms|s|m|h默认 0s</span>
</span><span class="code-line"> --health-timeout duration <span class="token comment"># 允许运行一项检查的最长时间 (ms|s|m|h) (默认 0s)</span>
</span><span class="code-line"> <span class="token parameter variable">--help</span> <span class="token comment"># 打印使用</span>
</span><span class="code-line">-h, <span class="token parameter variable">--hostname</span> string <span class="token comment"># 容器主机名</span>
</span><span class="code-line"> <span class="token parameter variable">--init</span> <span class="token comment"># 在容器内运行一个 init 来转发信号并收获进程</span>
</span><span class="code-line">-i, <span class="token parameter variable">--interactive</span> <span class="token comment"># 即使没有连接,也保持 STDIN 打开</span>
</span><span class="code-line"> <span class="token parameter variable">--ip</span> string <span class="token comment"># IPv4 地址(例如 172.30.100.104</span>
</span><span class="code-line"> <span class="token parameter variable">--ip6</span> string <span class="token comment"># IPv6 地址例如2001:db8::33</span>
</span><span class="code-line"> <span class="token parameter variable">--ipc</span> string <span class="token comment"># 要使用的 IPC 模式</span>
</span><span class="code-line"> <span class="token parameter variable">--isolation</span> string <span class="token comment"># 容器隔离技术</span>
</span><span class="code-line"> --kernel-memory bytes <span class="token comment"># 内核内存限制</span>
</span><span class="code-line">-l, <span class="token parameter variable">--label</span> list <span class="token comment"># 在容器上设置元数据</span>
</span><span class="code-line"> --label-file list <span class="token comment"># 读入以行分隔的标签文件</span>
</span><span class="code-line"> <span class="token parameter variable">--link</span> list <span class="token comment"># 添加到另一个容器的链接</span>
</span><span class="code-line"> --link-local-ip list <span class="token comment"># 容器 IPv4/IPv6 链路本地地址</span>
</span><span class="code-line"> --log-driver string <span class="token comment"># 容器的日志记录驱动程序</span>
</span><span class="code-line"> --log-opt list <span class="token comment"># 日志驱动程序选项</span>
</span><span class="code-line"> --mac-address string <span class="token comment"># 容器 MAC 地址(例如 92:d0:c6:0a:29:33</span>
</span><span class="code-line">-m, <span class="token parameter variable">--memory</span> bytes <span class="token comment"># 内存限制</span>
</span><span class="code-line"> --memory-reservation bytes <span class="token comment"># 内存软限制</span>
</span><span class="code-line"> --memory-swap bytes <span class="token comment"># 交换限制等于内存加上交换:'-1' 启用无限交换</span>
</span><span class="code-line"> --memory-swappiness int <span class="token comment"># 调整容器内存交换0 到 100默认 -1</span>
</span><span class="code-line"> <span class="token parameter variable">--mount</span> <span class="token function">mount</span> <span class="token comment"># 将文件系统挂载附加到容器</span>
</span><span class="code-line"> <span class="token parameter variable">--name</span> string <span class="token comment"># 为容器分配名称</span>
</span><span class="code-line"> <span class="token parameter variable">--network</span> network <span class="token comment"># 将容器连接到网络</span>
</span><span class="code-line"> --network-alias list <span class="token comment"># 为容器添加网络范围的别名</span>
</span><span class="code-line"> --no-healthcheck <span class="token comment"># 禁用任何容器指定的 HEALTHCHECK</span>
</span><span class="code-line"> --oom-kill-disable <span class="token comment"># 禁用 OOM 杀手</span>
</span><span class="code-line"> --oom-score-adj int <span class="token comment"># 调整主机的 OOM 首选项(-1000 到 1000</span>
</span><span class="code-line"> <span class="token parameter variable">--pid</span> string <span class="token comment"># 要使用的 PID 命名空间</span>
</span><span class="code-line"> --pids-limit int <span class="token comment"># 调整容器 pids 限制(设置 -1 表示无限制)</span>
</span><span class="code-line"> <span class="token parameter variable">--platform</span> string <span class="token comment"># 如果服务器支持多平台,则设置平台</span>
</span><span class="code-line"> <span class="token parameter variable">--privileged</span> <span class="token comment"># 授予此容器扩展权限</span>
</span><span class="code-line">-p, <span class="token parameter variable">--publish</span> list <span class="token comment"># 将容器的端口发布到主机</span>
</span><span class="code-line">-P, --publish-all <span class="token comment"># 将所有暴露的端口发布到随机端口</span>
</span><span class="code-line"> <span class="token parameter variable">--pull</span> string <span class="token comment"># 创建前拉取图像("always"|"missing"|"never")(默认"missing")</span>
</span><span class="code-line"> --read-only <span class="token comment"># 将容器的根文件系统挂载为只读</span>
</span><span class="code-line"> <span class="token parameter variable">--restart</span> string <span class="token comment"># 容器退出时应用的重启策略(默认“否”)</span>
</span><span class="code-line"> <span class="token parameter variable">--rm</span> <span class="token comment"># 容器退出时自动移除</span>
</span><span class="code-line"> <span class="token parameter variable">--runtime</span> string <span class="token comment"># 用于此容器的运行时</span>
</span><span class="code-line"> --security-opt list <span class="token comment"># 安全选项</span>
</span><span class="code-line"> --shm-size bytes <span class="token comment"># /dev/shm 的大小</span>
</span><span class="code-line"> --stop-signal string <span class="token comment"># 停止容器的信号默认“SIGTERM”</span>
</span><span class="code-line"> --stop-timeout int <span class="token comment"># 停止容器的超时(以秒为单位)</span>
</span><span class="code-line"> --storage-opt list <span class="token comment"># 容器的存储驱动程序选项</span>
</span><span class="code-line"> <span class="token parameter variable">--sysctl</span> map <span class="token comment"># Sysctl 选项(默认 map[]</span>
</span><span class="code-line"> <span class="token parameter variable">--tmpfs</span> list <span class="token comment"># 挂载 tmpfs 目录</span>
</span><span class="code-line">-t, <span class="token parameter variable">--tty</span> <span class="token comment"># 分配一个伪 TTY</span>
</span><span class="code-line"> <span class="token parameter variable">--ulimit</span> <span class="token builtin class-name">ulimit</span> <span class="token comment"># ulimit 选项(默认 []</span>
</span><span class="code-line">-u, <span class="token parameter variable">--user</span> string <span class="token comment"># 用户名或 UID格式&#x3C;name|uid>[:&#x3C;group|gid>]</span>
</span><span class="code-line"> <span class="token parameter variable">--userns</span> string <span class="token comment"># 要使用的用户命名空间</span>
</span><span class="code-line"> <span class="token parameter variable">--uts</span> string <span class="token comment"># 要使用的 UTS 命名空间</span>
</span><span class="code-line">-v, <span class="token parameter variable">--volume</span> list <span class="token comment"># 绑定挂载卷</span>
</span><span class="code-line"> --volume-driver string <span class="token comment"># 容器的可选卷驱动程序</span>
</span><span class="code-line"> --volumes-from list <span class="token comment"># 从指定容器挂载卷</span>
</span><span class="code-line">-w, <span class="token parameter variable">--workdir</span> string <span class="token comment"># 容器内的工作目录</span>
</span></code></pre>
<p><code>run</code>/<code>create</code> 大部分参数一致</p>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="docker-全局参数"><a aria-hidden="true" tabindex="-1" href="#docker-全局参数"><span class="icon icon-link"></span></a>docker 全局参数</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"> <span class="token parameter variable">--config</span> string <span class="token comment"># 客户端配置文件的位置(默认“~/.docker”</span>
</span><span class="code-line">-c, <span class="token parameter variable">--context</span> string <span class="token comment"># 用于连接到守护程序的上下文的名称(</span>
</span><span class="code-line"> <span class="token comment"># 覆盖 DOCKER_HOST 环境变量和使用“docker context use”设置的默认上下文</span>
</span><span class="code-line">-D, <span class="token parameter variable">--debug</span> <span class="token comment"># 启用调试模式</span>
</span><span class="code-line">-H, <span class="token parameter variable">--host</span> list <span class="token comment"># 要连接的守护进程套接字</span>
</span><span class="code-line">-l, --log-level string <span class="token comment"># 设置日志级别("debug"\|"info"\|"warn"\|"error"\|"fatal") 默认“info”</span>
</span><span class="code-line"> <span class="token parameter variable">--tls</span> <span class="token comment"># 使用 TLS 由 --tlsverify 暗示</span>
</span><span class="code-line"> <span class="token parameter variable">--tlscacert</span> string <span class="token comment"># 仅由该 CA 签署的信任证书(默认为“~/.docker/ca.pem”</span>
</span><span class="code-line"> <span class="token parameter variable">--tlscert</span> string <span class="token comment"># TLS证书文件路径默认“~/.docker/cert.pem”</span>
</span><span class="code-line"> <span class="token parameter variable">--tlskey</span> string <span class="token comment"># TLS 密钥文件的路径(默认为“~/.docker/key.pem”</span>
</span><span class="code-line"> <span class="token parameter variable">--tlsverify</span> <span class="token comment"># 使用 TLS 并验证远程</span>
</span><span class="code-line">-v, <span class="token parameter variable">--version</span> <span class="token comment"># 打印版本信息并退出</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist row-span-2"><div class="wrap-header h3wrap"><h3 id="docker-管理命令"><a aria-hidden="true" tabindex="-1" href="#docker-管理命令"><span class="icon icon-link"></span></a>docker 管理命令</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-2-->
<table><thead><tr><th align="left">:-</th><th align="left">:-</th></tr></thead><tbody><tr><td align="left"><code>docker builder</code></td><td align="left">管理构建</td></tr><tr><td align="left"><code>docker buildx*</code></td><td align="left">Docker BuildxDocker Inc.v0.7.1</td></tr><tr><td align="left"><code>docker compose*</code></td><td align="left">Docker ComposeDocker Inc.v2.2.3</td></tr><tr><td align="left"><code>docker config</code></td><td align="left">管理 Docker 配置</td></tr><tr><td align="left"><code>docker container</code></td><td align="left">管理容器</td></tr><tr><td align="left"><code>docker context</code></td><td align="left">管理上下文</td></tr><tr><td align="left"><code>docker image</code></td><td align="left">管理图像</td></tr><tr><td align="left"><code>docker manifest</code></td><td align="left">管理 Docker 镜像清单和清单列表</td></tr><tr><td align="left"><code>docker network</code></td><td align="left">管理网络</td></tr><tr><td align="left"><code>docker node</code></td><td align="left">管理 Swarm 节点</td></tr><tr><td align="left"><code>docker plugin</code></td><td align="left">管理插件</td></tr><tr><td align="left"><code>docker scan*</code></td><td align="left">Docker 扫描Docker Inc.v0.16.0</td></tr><tr><td align="left"><code>docker secret</code></td><td align="left">管理 Docker 机密</td></tr><tr><td align="left"><code>docker service</code></td><td align="left">管理服务</td></tr><tr><td align="left"><code>docker stack</code></td><td align="left">管理 Docker 堆栈</td></tr><tr><td align="left"><code>docker swarm</code></td><td align="left">管理群</td></tr><tr><td align="left"><code>docker system</code></td><td align="left">管理 Docker</td></tr><tr><td align="left"><code>docker trust</code></td><td align="left">管理对 Docker 映像的信任</td></tr><tr><td align="left"><code>docker volume</code></td><td align="left">管理卷</td></tr></tbody></table>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="docker-images"><a aria-hidden="true" tabindex="-1" href="#docker-images"><span class="icon icon-link"></span></a>docker images</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">-a, <span class="token parameter variable">--all</span> 显示所有图像(默认隐藏中间图像)
</span><span class="code-line"> <span class="token parameter variable">--digests</span> 显示摘要
</span><span class="code-line">-f, <span class="token parameter variable">--filter</span> filter 根据提供的条件过滤输出
</span><span class="code-line"> <span class="token parameter variable">--format</span> string 使用 Go 模板打印漂亮的图像
</span><span class="code-line"> --no-trunc 不要截断输出
</span><span class="code-line">-q, <span class="token parameter variable">--quiet</span> 仅显示图像 ID
</span></code></pre>
</div></div></div></div></div><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="docker-示例"><a aria-hidden="true" tabindex="-1" href="#docker-示例"><span class="icon icon-link"></span></a>Docker 示例</h2><div class="wrap-body">
<!--rehype:body-class=cols-2-->
</div></div><div class="h2wrap-body cols-2"><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="docker-web-管理工具-portainer"><a aria-hidden="true" tabindex="-1" href="#docker-web-管理工具-portainer"><span class="icon icon-link"></span></a>Docker Web 管理工具 portainer</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">docker</span> run <span class="token parameter variable">-d</span> <span class="token parameter variable">--name</span> portainer <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-p</span> <span class="token number">8000</span>:8000 <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-p</span> <span class="token number">9443</span>:9443 <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">--restart</span><span class="token operator">=</span>always <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> /var/run/docker.sock:/var/run/docker.sock <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> portainer_data:/data <span class="token punctuation">\</span>
</span><span class="code-line"> portainer/portainer-ee:latest
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="在线代码编辑器-code-server"><a aria-hidden="true" tabindex="-1" href="#在线代码编辑器-code-server"><span class="icon icon-link"></span></a>在线代码编辑器 Code Server</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ <span class="token function">mkdir</span> <span class="token parameter variable">-p</span> ~/.config
</span><span class="code-line">$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">--name</span> code-server <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-p</span> <span class="token number">127.0</span>.0.1:8080:8080 <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> <span class="token string">"<span class="token environment constant">$HOME</span>/.config:/home/coder/.config"</span> <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> <span class="token string">"<span class="token environment constant">$PWD</span>:/home/coder/project"</span> <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-u</span> <span class="token string">"<span class="token variable"><span class="token variable">$(</span><span class="token function">id</span> <span class="token parameter variable">-u</span><span class="token variable">)</span></span>:<span class="token variable"><span class="token variable">$(</span><span class="token function">id</span> <span class="token parameter variable">-g</span><span class="token variable">)</span></span>"</span> <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-e</span> <span class="token string">"DOCKER_USER=<span class="token environment constant">$USER</span>"</span> <span class="token punctuation">\</span>
</span><span class="code-line"> codercom/code-server:latest
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="mysql"><a aria-hidden="true" tabindex="-1" href="#mysql"><span class="icon icon-link"></span></a>MySQL</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ <span class="token function">docker</span> run <span class="token parameter variable">--name</span> mysql <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-p</span> <span class="token number">3306</span>:3306 <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> <span class="token environment constant">$HOME</span>/mysql/conf.d:/etc/mysql/conf.d <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> <span class="token environment constant">$HOME</span>/mysql/data:/var/lib/mysql <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> /etc/localtime:/etc/localtime:ro <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-e</span> <span class="token assign-left variable">MYSQL_ROOT_PASSWORD</span><span class="token operator">=</span><span class="token number">123456</span> <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-d</span> mysql:5.7.23
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="redis"><a aria-hidden="true" tabindex="-1" href="#redis"><span class="icon icon-link"></span></a>Redis</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ <span class="token function">docker</span> run <span class="token parameter variable">-d</span> <span class="token parameter variable">--name</span> myredis <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> <span class="token environment constant">$HOME</span>/redis/conf:/usr/local/etc/redis <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> /etc/localtime:/etc/localtime:ro <span class="token punctuation">\</span>
</span><span class="code-line"> redis redis-server /usr/local/etc/redis/redis.conf
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="nginx"><a aria-hidden="true" tabindex="-1" href="#nginx"><span class="icon icon-link"></span></a>Nginx</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ <span class="token function">docker</span> run <span class="token parameter variable">--name</span> my-nginx <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> <span class="token string">"<span class="token environment constant">$HOME</span>/nginx/nginx.conf:/etc/nginx/nginx.conf:ro"</span> <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> <span class="token string">"<span class="token environment constant">$HOME</span>/nginx/html:/usr/share/nginx/html:ro"</span> <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-p</span> <span class="token number">8080</span>:80 <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-d</span> nginx
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="postgresql"><a aria-hidden="true" tabindex="-1" href="#postgresql"><span class="icon icon-link"></span></a>PostgreSQL</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">docker</span> run <span class="token parameter variable">--name</span> my-postgres <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-e</span> <span class="token assign-left variable">POSTGRES_PASSWORD</span><span class="token operator">=</span>mysecretpassword <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-e</span> <span class="token assign-left variable">PGDATA</span><span class="token operator">=</span>/var/lib/postgresql/data/pgdata <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> <span class="token environment constant">$HOME</span>/nginx/mount:/var/lib/postgresql/data <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-d</span> postgres
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="媒体管理工具-dim"><a aria-hidden="true" tabindex="-1" href="#媒体管理工具-dim"><span class="icon icon-link"></span></a>媒体管理工具 Dim</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">docker</span> run <span class="token parameter variable">--name</span> my-dim <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-p</span> <span class="token number">8000</span>:8000/tcp <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> <span class="token environment constant">$HOME</span>/.config/dim:/opt/dim/config <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> <span class="token environment constant">$HOME</span>/dim/media:/media:ro <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-d</span> ghcr.io/dusk-labs/dim:dev
</span></code></pre>
<p><a href="https://github.com/Dusk-Labs/dim">Github</a></p>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="gitlab"><a aria-hidden="true" tabindex="-1" href="#gitlab"><span class="icon icon-link"></span></a>Gitlab</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">sudo</span> <span class="token function">docker</span> run <span class="token parameter variable">-d</span> <span class="token parameter variable">--name</span> gitlab <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">--hostname</span> gitlab.example.com <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">--publish</span> <span class="token number">8443</span>:443 <span class="token parameter variable">--publish</span> <span class="token number">8081</span>:80 <span class="token parameter variable">-p</span> <span class="token number">2222</span>:22 <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">--restart</span> always <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">--volume</span> <span class="token environment constant">$HOME</span>/gitlab/config:/etc/gitlab <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">--volume</span> <span class="token environment constant">$HOME</span>/gitlab/logs:/var/log/gitlab <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">--volume</span> <span class="token environment constant">$HOME</span>/gitlab/data:/var/opt/gitlab <span class="token punctuation">\</span>
</span><span class="code-line"> <span class="token parameter variable">-v</span> /etc/localtime:/etc/localtime <span class="token punctuation">\</span>
</span><span class="code-line"> --shm-size 256m <span class="token punctuation">\</span>
</span><span class="code-line"> gitlab/gitlab-ce:latest
</span></code></pre>
</div></div></div></div></div><div class="wrap h2body-not-exist"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
<ul>
<li><a href="./dockerfile.html">Dockerfile 备忘清单</a> <em>(github.io)</em></li>