Docker 常用指令和使用方法

32 阅读2分钟

一、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

六、组合示例

  1. 导出镜像 → 上传服务器 → 导入 → 运行 MySQL
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
  1. 进入正在运行的 MySQL 容器
docker exec -it mysql8 mysql -uroot -p
  1. 查看容器日志
docker logs -f mysql8
  1. 停止并删除容器
docker stop mysql8
docker rm mysql8