一、Docker 镜像管理
| 指令 | 作用 | 示例 |
|---|---|---|
docker pull <镜像> |
从仓库拉取镜像 | docker pull mysql:8.0 |
docker images |
查看本地镜像列表 | docker images |
docker rmi <镜像> |
删除本地镜像 | docker rmi mysql:8.0 |
docker save -o <文件名>.tar <镜像> |
导出镜像为 tar 文件 | docker save -o mysql8.tar mysql:8.0 |
docker load -i <文件名>.tar |
导入镜像 | docker load -i mysql8.tar |
docker tag <镜像> <新镜像名> |
给镜像打标签 | docker tag mysql:8.0 myrepo/mysql:8.0 |
docker push <镜像> |
推送镜像到仓库 | docker push myrepo/mysql:8.0 |
二、Docker 容器管理
| 指令 | 作用 | 示例 |
|---|---|---|
docker run [options] <镜像> |
创建并运行容器 | docker run -d --name mysql8 -p 3306:3306 mysql:8.0 |
docker ps |
查看正在运行的容器 | docker ps |
docker ps -a |
查看所有容器 | docker ps -a |
docker stop <容器名/ID> |
停止容器 | docker stop mysql8 |
docker start <容器名/ID> |
启动容器 | docker start mysql8 |
docker restart <容器名/ID> |
重启容器 | docker restart mysql8 |
docker rm <容器名/ID> |
删除容器 | docker rm mysql8 |
docker exec -it <容器名/ID> <命令> |
进入容器或执行命令 | docker exec -it mysql8 bash / docker exec -it mysql8 mysql -uroot -p |
docker logs <容器名/ID> |
查看容器日志 | docker logs mysql8 |
三、数据卷与文件挂载
| 指令 | 作用 | 示例 |
|---|---|---|
-v <宿主机路径>:<容器路径> |
挂载卷 | docker run -v /data/mysql:/var/lib/mysql mysql:8.0 |
docker volume create <卷名> |
创建 Docker 卷 | docker volume create mysql-data |
docker volume ls |
查看卷 | docker volume ls |
docker volume rm <卷名> |
删除卷 | docker volume rm mysql-data |
四、网络管理
| 指令 | 作用 | 示例 |
|---|---|---|
-p <宿主机端口>:<容器端口> |
端口映射 | docker run -p 3306:3306 mysql:8.0 |
docker network ls |
查看网络 | docker network ls |
docker network create <网络名> |
创建网络 | docker network create mynet |
docker network inspect <网络名> |
查看网络详情 | docker network inspect mynet |
五、系统信息与清理
| 指令 | 作用 | 示例 |
|---|---|---|
docker info |
查看 Docker 系统信息 | docker info |
docker system df |
查看磁盘使用情况 | docker system df |
docker system prune |
清理无用数据(镜像/容器/网络) | docker system prune -a |
docker version |
查看 Docker 版本 | docker version |
六、组合示例
- 导出镜像 → 上传服务器 → 导入 → 运行 MySQL
plain
docker save -o mysql8.tar mysql:8.0
scp mysql8.tar user@server:/home/user/
ssh user@server
docker load -i /home/user/mysql8.tar
docker run -d --name mysql8 -p 3306:3306 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:8.0
- 进入正在运行的 MySQL 容器
plain
docker exec -it mysql8 mysql -uroot -p
- 查看容器日志
plain
docker logs -f mysql8
- 停止并删除容器
plain
docker stop mysql8
docker rm mysql8