Docker基常用础命令

一、Docker基础命令

  • 1.1 启动/停止/重启docker
纯文字
# 启动
systemctl start docker
# 停止
systemctl stop docker
# 重启
systemctl restart docker
  • 1.2 设置开机自启动
纯文字
# 设置
systemctl enable docker
# 取消开机自启动
systemctl disable docker
  • 1.3 查看docker状态
纯文字
systemctl status docker
  • 1.4 查看版本信息
纯文字
docker version
  • 1.5 显示Docker系统信息
纯文字
docker info
  • 1.6 查看帮助
纯文字
docker --help

二、镜像管理命令

  • 2.1 搜索镜像
纯文字
docker search [镜像名]
例如:docker search nginx
  • 2.2 下载镜像
纯文字
docker pull [镜像名]:[标签]
例如:docker pull nginx:latest //下载指定的镜像到本地。如果不指定标签,则默认下载latest版本
  • 2.3 列出本地镜像
纯文字
docker images //列出本地所有镜像,显示镜像ID、仓库、标签、大小等信息
  • 2.4 删除镜像
纯文字
docker rmi [镜像ID或镜像名]
删除本地的某个镜像。例如:
docker rmi nginx:latest
-f 参数可以执行强制删除镜像
docker rmi -f mysql
删除全部镜像(慎用)
docker rmi -f $(docker images -aq)
-a 意思为显示全部, -q 意思为只显示ID
  • 2.5 构建镜像
纯文字
docker build -t [镜像名]:[标签] [Dockerfile所在路径]
从指定路径的Dockerfile构建一个新的镜像。例如从当前路径构建
docker build -t nginx:1.0 
  • 2.6 导入镜像
纯文字
docker load -i 镜像保存文件位置
例如:docker load -i /data/nginx.tar
  • 2.7 保存镜像
纯文字
docker save -o 保存的目标文件名称 镜像名
例如:docker save -o /data/nginx.tar  nginx
保存后的镜像可以使用load加载到其他服务器上
  • 2.8 给镜像打标签
纯文字
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
例如:docker tag nginx  10.10.10.200/software/nginx:1.26
有时候根据业务需求 需要对一个镜像进行分类或版本迭代操作,此时就需要给镜像打上标签。10.10.10.200为镜像仓库地址,software为镜像仓库名称

三、容器管理命令

  • 3.1 创建并运行容器
纯文字
docker run [选项] [镜像名]
常用选项:
选项	说明
-d	后台运行容器
-p	端口映射
--name	指定容器名称
-v	挂载卷 ; 例如-v 主机路径:容器路径
示例:在后台运行一个名为mynginx的nginx容器,并映射端口:
docker run -d -p 8080:80 --name mynginx nginx
  • 3.2 查看运行中的容器
纯文字
docker ps
列出当前正在运行的容器,显示容器ID、镜像、状态、端口映射等信息。
  • 3.3 查看所有容器(包括停止的)
纯文字
docker ps -a
  • 3.4 启动和停止容器
纯文字
# 启动容器
docker start [容器ID或容器名]
# 停止容器
docker stop [容器ID或容器名]
  • 3.5 重启容器
纯文字
docker restart [容器ID或容器名]
  • 3.6 删除容器
纯文字
docker rm [容器ID或容器名]
删除指定的容器。如果容器正在运行,可以使用-f强制删除
  • 3.7 进入容器
纯文字
docker exec -it [容器ID或容器名] /bin/bash
在容器内启动一个交互式的Shell。例如:
docker exec -it mynginx /bin/bash
进入docker执行命令ls
docker exec $CONTAINER /bin/bash -c "ls"
  • 3.8 查看容器日志
纯文字
docker logs [容器ID或容器名]
查看容器的输出日志。常用选项:
-f:实时输出日志。--tail n:显示最后n行日志。例如:
docker logs -f --tail 20 mynginx
  • 3.9 查看容器内部细节
纯文字
docker inspect [容器ID或容器名]

四、数据卷管理命令

  • 4.1 创建数据卷
纯文字
docker volume create [卷名]
例如:docker volume create data
  • 4.2 查看数据卷
纯文字
docker volume ls
列出所有数据卷
  • 4.3 删除数据卷
纯文字
docker volume rm [卷名]
例如:docker volume rm data
删除指定的数据卷
  • 4.4 查看数据卷详情
纯文字
docker volume inspect [卷名]
显示数据卷的详细信息,包括挂载路径

五、网络管理命令

  • 5.1 创建网络
纯文字
docker network create [网络名] 
创建一个自定义网络,通常是bridge类型的网络
  • 5.2 查看网络
纯文字
docker network ls
列出所有网络,包括默认网络
  • 5.3 查看网络详情
纯文字
docker network inspect [网络名]
显示指定网络的详细信息,包括连接到该网络的容器信息
  • 5.4 删除网络
纯文字
docker network rm [网络名]
删除指定的自定义网络
  • 5.5 将容器连接到网络
纯文字
docker network connect [网络名] [容器名或容器ID]
  • 5.6 将容器从网络断开
纯文字
docker network disconnect [网络名] [容器名或容器ID]

六、Docker Compose 命令

  • 6.1 启动服务
纯文字
docker-compose up
# 后台运行
docker-compose up -d
根据docker-compose.yml文件中的配置启动所有服务,常用选项:-d:后台运行所有服务。--build:在启动之前重新构建镜像。
  • 6.2 停止服务
纯文字
docker-compose down
停止并删除所有容器、网络和卷
  • 6.3 构建或重建服务
纯文字
docker-compose build
  • 6.4 查看服务状态
纯文字
docker-compose ps
列出由docker-compose管理的所有服务及其状态
  • 6.5 查看服务日志
纯文字
docker-compose logs [服务名]
查看指定服务的日志,常用选项:
-f:实时输出日志。--tail n:显示最后n行日志。

七、常用清理命令

  • 7.1 清理无用的数据
纯文字
docker container prune //删除所有已停止的容器
docker image prune //删除未使用的镜像
docker volume prune //删除所有未使用的数据卷
docker network prune //删除所有未使用的网络
docker system prune //清理所有未使用的资源(包括镜像、容器、卷和网络)

文章导航
  • WordPress实用功能
  • Linux常用基础命令
  • 上一篇WordPress实用功能
  • 下一篇Linux常用基础命令