科技生活指南
柔彩主题三 · 更轻盈的阅读体验

Docker run命令详解:轻松上手容器运行

发布时间:2025-12-13 02:20:53 阅读:293 次

ref="/tag/2019/" style="color:#874873;font-weight:bold;">Docker run命令详解:从零开始跑一个容器

在日常开发和运维中,经常会遇到“在我机器上能跑”的尴尬情况。这时候,Docker 就成了救星。而其中最常用的命令之一就是 docker run —— 它能让你快速启动一个隔离的容器环境,就像插上电源就能用的即热饮水机。

比如你在公司写了个小工具,想让同事也试试,又怕他环境配置麻烦?直接给他一条 docker run 命令,一行搞定,省得来回折腾 Python 版本、依赖库、端口冲突。

基本语法长什么样?

最简单的形式是:

docker run 镜像名称

比如你本地有个叫 nginx 的镜像,直接运行

docker run nginx

这条命令会创建一个容器,并启动 Nginx 服务。但默认情况下它是在前台运行的,关掉终端就停了。实际使用中我们更常用后台模式。

常用选项实战说明

光跑起来还不够,还得控制得住。下面这几个参数几乎每天都会用到。

-d:后台运行

加个 -d 就能让容器在后台默默工作,不占终端。

docker run -d nginx

这就像把程序扔进“后台服务”模式,你可以继续干别的事,不用守着它输出日志。

-p:端口映射

Web 服务总得访问吧?用 -p 把容器端口映射到宿主机。

docker run -d -p 8080:80 nginx

意思是把本机的 8080 端口转发到容器的 80 端口。现在打开浏览器访问 http://localhost:8080,就能看到 Nginx 欢迎页了。

--name:起个好记的名字

默认容器名字是一串随机字符,难记又难认。用 --name 给它取个名字,方便管理。

docker run -d -p 8080:80 --name my-web-server nginx

以后查日志、停容器,直接用这个名字:

docker logs my-web-server
docker stop my-web-server

-e:设置环境变量

很多应用靠环境变量来配置行为。比如启动一个 MySQL 容器,必须设密码:

docker run -d -e MYSQL_ROOT_PASSWORD=123456 mysql

这样容器里的 MySQL 就会用这个密码初始化 root 用户。别忘了生产环境可别用这么简单的密码。

-v:挂载数据卷

容器一删,数据就没了?用 -v 把数据存在外面。

docker run -d -v /mydata:/var/lib/mysql mysql

这样即使容器删了重建,/mydata 里的数据还在,数据库不会丢。

--rm:临时任务专用

有些命令只跑一次,比如测试工具、迁移脚本。加上 --rm,容器执行完自动清理。

docker run --rm ubuntu ls /

这条命令列出根目录后容器就消失,不留垃圾。

组合起来实战一把

假设你要快速搭个 WordPress 博客,可以用官方镜像配合 MySQL:

docker run -d \
--name wordpress-blog \
-p 8000:80 \
-e WORDPRESS_DB_HOST=mysql-server \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=123456 \
-v ./wp-content:/var/www/html/wp-content \
wordpress

这一条命令设置了名字、端口、数据库连接信息,还把主题和插件目录挂出来,方便后续修改。刷新浏览器就能开始写文章了。

熟悉这些参数后,你会发现 docker run 其实没那么复杂。就跟搭积木一样,一块一块拼出你需要的服务。下次部署新项目时,不妨先写条 docker run 试试水,效率高还不容易出错。