Docker 入门实操:从安装到第一个容器

举报
yd_236639601 发表于 2026/10/26 01:07:40 2026/10/26
【摘要】 Docker 把应用和运行环境打包成镜像,换台机器照样跑;本文从安装验证、镜像与容器、数据挂载、Dockerfile 到日常排错,十分钟上手第一个容器。

部署应用最头疼的就是"在我机器上能跑"。Docker 把应用和它的运行环境打包成镜像,换台机器照样跑,十分钟就能上手。

一、安装与验证

Ubuntu 上用官方源安装:

sudo apt update && sudo apt install -y docker.io
sudo systemctl enable --now docker
docker --version

把当前用户加进 docker 组,之后就不用每次都 sudo:

sudo usermod -aG docker $USER

改完要重新登录一次才生效。验证:docker run hello-world,看到欢迎信息说明安装成功。

二、镜像与容器:先分清这两个词

镜像是只读模板,容器是镜像跑起来的实例。常用命令就六个:

docker pull nginx:latest      # 拉镜像
docker images                 # 看本地有哪些镜像
docker run -d -p 8080:80 nginx  # 后台跑一个 Nginx 容器
docker ps                     # 看正在跑的容器
docker stop <容器名或ID前几位>  # 停容器
docker rm <容器名>             # 删容器

-p 8080:80 的意思是把宿主机 8080 端口映射到容器里的 80 端口,浏览器打开 http://服务器IP:8080 就能看到 Nginx 欢迎页。

三、数据别放容器里:挂载卷

容器删了,里面的数据也跟着没了。持久数据要用卷挂载:

docker run -d -p 8080:80 -v /srv/www:/usr/share/nginx/html nginx

/srv/www 是宿主机目录,/usr/share/nginx/html 是容器里的网站根目录。改宿主机上的文件,容器里的网站立刻跟着变。

四、自己的应用:写个 Dockerfile

三行就能把一个静态站打包成镜像:

FROM nginx:alpine
COPY . /usr/share/nginx/html
EXPOSE 80

构建并运行:

docker build -t my-site:v1 .
docker run -d -p 8080:80 my-site:v1

改了代码就重新 build 一个版本(v2、v3……),旧版本随时能回滚,部署变成了一件可重复的事。

五、日常排错

docker logs <容器名>          # 看容器日志,排错第一步
docker exec -it <容器名> sh  # 进容器里看现场
docker ps -a                # 包括已退出的容器
docker system prune         # 清理没用的镜像和容器(定期做,省磁盘)

容器启动后立刻退出?八成是启动命令出错,先 docker logs 看最后一行报错,别急着重建。

小结

Docker 的核心就三件事:镜像是模板、容器是实例、数据要挂载。先从跑官方镜像开始,熟悉 run / ps / logs / exec 这几个命令,再学写自己的 Dockerfile。容器化之后,换机器部署就是 pull 加 run 两条命令的事。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。