Docker容器启动的全方位方法汇总
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">一、最基础的启动</a></li><li><a href="#_label1">二、后台运行</a></li><li><a href="#_label2">三、命名容器</a></li><li><a href="#_label3">四、端口映射(外部访问)</a></li><li><a href="#_label4">五、数据持久化(卷和目录挂载)</a></li><li><a href="#_label5">六、环境变量配置</a></li><li><a href="#_label6">七、重启策略</a></li><li><a href="#_label7">八、交互模式(进入容器)</a></li><li><a href="#_label8">九、组合启动示例(生产环境通用模板)</a></li><li><a href="#_label9">十、常用容器管理命令</a></li><li><a href="#_label10">十一、镜像管理</a></li><li><a href="#_label11">十二、系统信息与清理</a></li><li><a href="#_label12">十三、特殊启动选项</a></li></ul></div><p class="maodian"><a name="_label0"></a></p><h2>一、最基础的启动</h2><div class="jb51code"><pre class="brush:bash;">docker run <镜像名>
</pre></div>
<ul><li>仅启动容器,不映射端口,不持久化数据</li><li>容器退出后数据会丢失</li></ul>
<p class="maodian"><a name="_label1"></a></p><h2>二、后台运行</h2>
<div class="jb51code"><pre class="brush:bash;">docker run -d <镜像名>
</pre></div>
<ul><li><code>-d</code> → detached 模式,后台运行</li><li>常用于服务类镜像(MySQL、Redis、Nginx 等)</li></ul>
<p class="maodian"><a name="_label2"></a></p><h2>三、命名容器</h2>
<div class="jb51code"><pre class="brush:bash;">docker run --name mycontainer <镜像名>
</pre></div>
<ul><li>方便管理、停止、删除</li><li>例如 <code>docker stop mycontainer</code></li></ul>
<p class="maodian"><a name="_label3"></a></p><h2>四、端口映射(外部访问)</h2>
<div class="jb51code"><pre class="brush:bash;">docker run -p <宿主机端口>:<容器端口> <镜像名>
</pre></div>
<ul><li>Web 服务、数据库必须映射端口</li><li>多端口映射示例:</li></ul>
<div class="jb51code"><pre class="brush:bash;">docker run -p 8080:80 -p 443:443 nginx
</pre></div>
<p class="maodian"><a name="_label4"></a></p><h2>五、数据持久化(卷和目录挂载)</h2>
<ol><li><strong>挂载宿主机目录</strong></li></ol>
<div class="jb51code"><pre class="brush:bash;">docker run -v /宿主机路径:/容器路径 <镜像名>
</pre></div>
<p>示例:</p>
<div class="jb51code"><pre class="brush:bash;">docker run -v /data/mysql:/var/lib/mysql mysql:8.0
</pre></div>
<ol start="2"><li><strong>Docker 卷</strong></li></ol>
<div class="jb51code"><pre class="brush:bash;">docker volume create myvolume
docker run -v myvolume:/容器路径 <镜像名>
</pre></div>
<ul><li>卷管理方便,可通过 <code>docker volume ls</code> 查看</li></ul>
<p class="maodian"><a name="_label5"></a></p><h2>六、环境变量配置</h2>
<div class="jb51code"><pre class="brush:bash;">docker run -e KEY=VALUE <镜像名>
</pre></div>
<p>数据库镜像常用:</p>
<ul><li><code>MYSQL_ROOT_PASSWORD</code></li><li><code>MYSQL_DATABASE</code></li><li><code>MYSQL_USER</code></li><li><code>MYSQL_PASSWORD</code></li></ul>
<p>Web 服务镜像常用:</p>
<ul><li><code>TZ</code>(时区)</li><li><code>APP_ENV</code>、<code>DEBUG</code> 等自定义变量</li></ul>
<p class="maodian"><a name="_label6"></a></p><h2>七、重启策略</h2>
<div class="jb51code"><pre class="brush:bash;">docker run --restart <策略> <镜像名>
</pre></div>
<ul><li><code>no</code> → 不自动重启(默认)</li><li><code>always</code> → 容器停止或 Docker 重启都会自动启动</li><li><code>unless-stopped</code> → 除非手动停止,否则自动启动</li><li><code>on-failure[:最大重试次数]</code> → 出错自动重启</li></ul>
<p class="maodian"><a name="_label7"></a></p><h2>八、交互模式(进入容器)</h2>
<div class="jb51code"><pre class="brush:bash;">docker run -it <镜像名> /bin/bash
</pre></div>
<ul><li><code>-it</code> → 交互模式 + 分配伪终端</li><li>适用于调试、临时测试</li></ul>
<p class="maodian"><a name="_label8"></a></p><h2>九、组合启动示例(生产环境通用模板)</h2>
<div class="jb51code"><pre class="brush:bash;">docker run -d \
--name <容器名> \
-p <宿主端口>:<容器端口> \
-v <宿主路径>:<容器路径> \
-e KEY1=VALUE1 -e KEY2=VALUE2 \
--restart unless-stopped \
<镜像名>
</pre></div>
<p class="maodian"><a name="_label9"></a></p><h2>十、常用容器管理命令</h2>
<table><thead><tr><th>命令</th><th>作用</th></tr></thead><tbody><tr><td><code>docker ps</code></td><td>查看运行中的容器</td></tr><tr><td><code>docker ps -a</code></td><td>查看所有容器</td></tr><tr><td><code>docker stop <容器></code></td><td>停止容器</td></tr><tr><td><code>docker start <容器></code></td><td>启动容器</td></tr><tr><td><code>docker restart <容器></code></td><td>重启容器</td></tr><tr><td><code>docker rm <容器></code></td><td>删除容器</td></tr><tr><td><code>docker logs <容器></code></td><td>查看日志</td></tr><tr><td><code>docker exec -it <容器> <命令></code></td><td>进入容器或执行命令</td></tr></tbody></table>
<p class="maodian"><a name="_label10"></a></p><h2>十一、镜像管理</h2>
<table><thead><tr><th>命令</th><th>作用</th></tr></thead><tbody><tr><td><code>docker pull <镜像></code></td><td>下载镜像</td></tr><tr><td><code>docker images</code></td><td>查看本地镜像</td></tr><tr><td><code>docker rmi <镜像></code></td><td>删除镜像</td></tr><tr><td><code>docker save -o <文件>.tar <镜像></code></td><td>导出镜像</td></tr><tr><td><code>docker load -i <文件>.tar</code></td><td>导入镜像</td></tr><tr><td><code>docker tag <镜像> <新镜像></code></td><td>镜像打标签</td></tr><tr><td><code>docker push <镜像></code></td><td>推送到仓库</td></tr></tbody></table>
<p class="maodian"><a name="_label11"></a></p><h2>十二、系统信息与清理</h2>
<table><thead><tr><th>命令</th><th>作用</th></tr></thead><tbody><tr><td><code>docker info</code></td><td>查看 Docker 系统信息</td></tr><tr><td><code>docker version</code></td><td>查看版本</td></tr><tr><td><code>docker system df</code></td><td>查看磁盘占用</td></tr><tr><td><code>docker system prune -a</code></td><td>清理无用镜像、容器、网络</td></tr></tbody></table>
<p class="maodian"><a name="_label12"></a></p><h2>十三、特殊启动选项</h2>
<table><thead><tr><th>需求</th><th>参数</th></tr></thead><tbody><tr><td>限制内存</td><td><code>--memory=1g</code></td></tr><tr><td>限制 CPU</td><td><code>--cpus=1.5</code></td></tr><tr><td>设置 hostname</td><td><code>--hostname myhost</code></td></tr><tr><td>指定网络</td><td><code>--network mynet</code></td></tr><tr><td>连接多个网络</td><td><code>--network network1 --network network2</code></td></tr><tr><td>临时容器(退出自动删除)</td><td><code>--rm</code></td></tr></tbody></table>
<p>总结:</p>
<ul><li><strong>必需参数</strong>:镜像名、端口映射(服务类)、数据卷(持久化)</li><li><strong>推荐参数</strong>:环境变量、重启策略、容器命名</li><li><strong>可选参数</strong>:CPU/内存限制、网络配置、调试模式</li></ul>
<p>到此这篇关于Docker容器启动的全方位方法汇总的文章就介绍到这了,更多相关Docker容器启动内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区!</p>
頁:
[1]