Goer系列-1-Docker基础命令学习

内容分享3天前发布
0 0 0

Docker 基础命令是日常操作的核心,掌握这些命令能让我们快速管理镜像和容器。以下按「镜像管理」和「容器管理」分类整理,包含高频命令、关键选项、示例及注意事项,方便上手练习:

一、镜像(Image)管理命令

镜像作为容器的「模板」,是启动容器的前提,核心操作包括拉取、查看、删除、构建等。

1. 拉取镜像(从仓库下载)

命令
docker pull [选项] 镜像名:标签

说明:从 Docker Hub(默认仓库)或私有仓库拉取镜像,
标签
表示版本(如
latest
为最新版,不指定则默认
latest
)。示例:


# 拉取最新版 Nginx 镜像
docker pull nginx:latest

# 拉取指定版本的 Python 镜像(3.11)
docker pull python:3.11
2. 查看本地镜像

命令
docker images

docker image ls

说明:列出本地所有镜像,包含镜像 ID、标签、大小等信息。示例:


docker images
# 输出格式:REPOSITORY(仓库名)  TAG(标签)  IMAGE ID(镜像ID)  CREATED(创建时间)  SIZE(大小)

筛选技巧:


# 只看 nginx 相关镜像
docker images nginx

# 只显示镜像 ID
docker images -q
3. 删除本地镜像

命令
docker rmi [选项] 镜像ID/镜像名:标签

说明:删除本地镜像,需先删除依赖该镜像的所有容器(否则报错)。选项:
-f
强制删除(即使有容器依赖,不推荐,建议先删容器)。示例:


# 通过镜像 ID 删除(镜像 ID 可只写前3位,唯一即可)
docker rmi 1f9b

# 通过镜像名+标签删除
docker rmi nginx:latest
4. 构建自定义镜像(基于 Dockerfile)

命令
docker build -t 镜像名:标签 构建上下文路径

说明:根据当前目录(或指定路径)的
Dockerfile
构建镜像,
-t
指定镜像名称和标签。示例:


# 在当前目录(.)构建一个名为 myapp、标签为 v1 的镜像
docker build -t myapp:v1 .
5. 镜像导出/导入(离线传输)

导出:
docker save -o 文件名.tar 镜像名:标签

示例:
docker save -o nginx.tar nginx:latest
(将 nginx 镜像保存为本地 tar 文件)导入:
docker load -i 文件名.tar

示例:
docker load -i nginx.tar
(从 tar 文件恢复镜像)

二、容器(Container)管理命令

容器是镜像的「运行实例」,核心操作包括启动、查看、操作、停止、删除等。

1. 启动容器(从镜像创建并运行)

命令
docker run [选项] 镜像名 [容器内命令]

这是最核心的命令,关键选项必须掌握:


-it
:交互式运行(
-i
保持输入打开,
-t
分配伪终端),适合进入容器操作(如
bash
)。
-d
:后台运行(守护进程模式),适合长期运行的服务(如 Nginx、MySQL)。
--name 容器名
:指定容器名称(不指定则随机生成)。
-p 宿主机端口:容器内端口
:端口映射(让外部能访问容器内服务)。
-v 宿主机路径:容器内路径
:挂载数据卷或目录(持久化数据)。

示例:


# 1. 交互式启动 Ubuntu 容器,进入 bash 终端(退出后容器停止)
docker run -it --name my-ubuntu ubuntu:22.04 /bin/bash

# 2. 后台启动 Nginx,映射宿主机 8080 端口到容器 80 端口(访问 localhost:8080 即可看到 Nginx 页面)
docker run -d --name my-nginx -p 8080:80 nginx:latest

# 3. 启动 MySQL,挂载数据卷(持久化数据),设置环境变量(root 密码)
docker run -d --name my-mysql -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
2. 查看容器

查看运行中容器:
docker ps
查看所有容器(包括已停止的):
docker ps -a
只显示容器 ID:
docker ps -aq
(常用于批量操作,如删除所有容器)

3. 进入运行中的容器(执行命令)

命令
docker exec [选项] 容器ID/名称 容器内命令

关键选项:
-it
交互式进入(如进入
bash
终端)。示例:


# 进入 my-nginx 容器的 bash 终端
docker exec -it my-nginx /bin/bash

# 在容器内执行单条命令(如查看 nginx 配置)
docker exec my-nginx cat /etc/nginx/nginx.conf
4. 停止/启动/重启容器

停止运行中的容器:
docker stop 容器ID/名称
(优雅停止,等待进程结束)强制停止:
docker kill 容器ID/名称
(立即终止,类似 kill -9)启动已停止的容器:
docker start 容器ID/名称
重启容器:
docker restart 容器ID/名称

5. 查看容器日志(调试必备)

命令
docker logs [选项] 容器ID/名称

选项:
-f
实时跟踪日志(类似 tail -f);
--tail 行数
只看最后 N 行。示例:


# 实时查看 my-nginx 的日志
docker logs -f my-nginx

# 查看 my-mysql 最后 100 行日志
docker logs --tail 100 my-mysql
6. 删除容器

命令
docker rm [选项] 容器ID/名称

说明:只能删除已停止的容器,运行中的容器需先
stop
或用
-f
强制删除。示例:


# 删除已停止的 my-ubuntu 容器
docker rm my-ubuntu

# 强制删除运行中的 my-nginx 容器(不推荐,建议先 stop)
docker rm -f my-nginx

# 批量删除所有已停止的容器
docker rm $(docker ps -aq)

三、核心命令练习建议


docker run hello-world
开始,体验「拉取镜像→启动容器→自动退出」的流程。用
nginx
镜像练习:后台启动→访问宿主机端口→进入容器修改首页→查看日志→停止删除。用
ubuntu
镜像练习:交互式启动→在容器内安装软件→退出后重启容器查看状态(体会容器的临时性,未持久化的数据会丢失)。

通过以上命令的实操,能快速掌握 Docker 的基本操作逻辑,为后续学习 Dockerfile 和 Compose 打下基础。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...