在使用Docker时,有一些常用命令可以帮助你高效地管理容器、镜像和网络等资源。以下是一些最常用的Docker命令及其用途。

1. 镜像相关命令

  • 查看本地镜像列出本地所有镜像:docker images 或者:docker image ls
  • 拉取镜像从Docker Hub拉取镜像:docker pull <镜像名> 示例:拉取最新版本的Nginx镜像:docker pull nginx
  • 构建镜像使用Dockerfile构建镜像:docker build -t <镜像名>:<标签> <Dockerfile所在目录> 示例:docker build -t myapp:v1 .
  • 删除镜像删除指定镜像(镜像ID或镜像名):docker rmi <镜像ID或镜像名> 示例:docker rmi nginx

2. 容器相关命令

  • 运行容器使用镜像创建并运行容器:docker run -d --name <容器名> -p <宿主机端口>:<容器端口> <镜像名> 示例:启动一个后台运行的Nginx容器,映射端口80:docker run -d --name mynginx -p 8080:80 nginx
  • 查看运行中的容器列出当前正在运行的容器:docker ps 如果需要查看所有容器(包括停止的容器):docker ps -a
  • 进入容器进入一个运行中的容器进行调试:docker exec -it <容器名或容器ID> bash 示例:docker exec -it mynginx bash
  • 停止容器停止一个运行中的容器:docker stop <容器名或容器ID> 示例:docker stop mynginx
  • 启动容器启动一个已经停止的容器:docker start <容器名或容器ID>
  • 删除容器删除停止的容器:docker rm <容器名或容器ID> 示例:docker rm mynginx
  • 查看容器日志查看容器输出的日志信息:docker logs <容器名或容器ID> 示例:docker logs mynginx

3. Docker网络相关命令

  • 查看网络列出所有Docker网络:docker network ls
  • 创建网络创建一个自定义的Docker网络:docker network create <网络名> 示例:docker network create mynetwork
  • 连接容器到网络将容器连接到特定网络:docker network connect <网络名> <容器名>
  • 从网络断开容器将容器从特定网络断开:docker network disconnect <网络名> <容器名>

4. Docker卷(Volumes)相关命令

  • 查看卷列出所有卷:docker volume ls
  • 创建卷创建一个新的Docker卷:docker volume create <卷名> 示例:docker volume create myvolume
  • 挂载卷在容器中使用卷:docker run -v <本地路径>:<容器路径> <镜像名> 示例:docker run -v /mydata:/data nginx
  • 删除卷删除一个卷(前提是没有容器在使用该卷):docker volume rm <卷名>

5. Docker Compose 命令

Docker Compose 允许你使用YAML文件来定义和运行多个容器。

  • 启动服务使用docker-compose.yml文件启动容器:docker-compose up 如果需要在后台运行:docker-compose up -d
  • 停止服务停止并删除容器:docker-compose down
  • 查看服务状态查看服务的状态和日志:docker-compose ps docker-compose logs

6. 其他常用命令

  • 查看系统资源查看Docker使用的系统资源:docker info
  • 查看容器的端口映射查看容器暴露的端口和宿主机的映射:docker port <容器名或容器ID>
  • 清理未使用的镜像、容器、网络和卷清理所有不再使用的资源:docker system prune 如果你只想清理未使用的镜像,可以使用:docker image prune

总结

这些是常用的Docker命令,它们帮助你在开发、测试和部署过程中高效地管理Docker容器和镜像。如果你有更具体的需求或遇到问题,可以随时提出!