Docker常用命令记录操作
Docker容器作为一种轻量级的虚拟化技术,具有灵活性、可移植性、可扩展性等优势,在容器化应用开发和部署中得到了广泛的应用。
这篇博文记录了个人在使用Docker容器过程中常用的操作命令。主要包括镜像操作命令、容器操作命令、网络操作命令、存储操作命令等。
1、容器操作
- 列出正在运行的容器:
使用docker ps 命令可以列出当前所有正在运行的容器。
- 列出所有容器(包括运行中和已停止的):
执行docker ps -a 命令可以显示所有容器,无论它们当前是否在运行。 运行容器(启动并附加到容器):
使用docker run <镜像名称> 命令来启动一个新的容器实例。
- 以分离模式运行容器:
通过docker run -d <镜像名称> 命令可以在后台运行容器,这样不会占用终端。
- 映射端口运行容器:
执行docker run -p <宿主机端口>:<容器端口> <镜像名称> 命令可以在运行容器时映射容器内部端口到宿主机端口。
- 停止正在运行的容器:
使用docker stop <容器ID> 命令来停止一个正在运行的容器。
- 启动已停止的容器:
通过docker start <容器ID> 命令来重启一个已经停止的容器。
- 移除已停止的容器:
执行docker rm <容器ID> 命令来删除一个不再需要的容器。
2、镜像管理
- 列出Docker镜像:
使用docker images 命令可以查看本地存储的所有Docker镜像。
- 从Docker Hub拉取镜像:
执行docker pull <镜像名称> 命令从Docker Hub下载镜像。
- 根据Dockerfile构建镜像:
使用docker build -t <镜像名称> . 命令根据当前目录下的Dockerfile构建新镜像。
- 标记镜像:
通过docker tag <镜像ID> <新镜像名称>:<标签> 命令给镜像打上新的标签。
- 移除镜像:
执行docker rmi <镜像ID> 命令来删除一个不再需要的镜像。
3、容器管理
- 查看容器日志:
使用docker logs <容器ID> 命令可以查看容器的输出日志。
- 进入正在运行的容器(交互式Shell):
执行docker exec -it <容器ID> /bin/bash 命令可以打开一个交互式Shell,进入容器内部。
- 从容器复制文件到宿主机:
使用docker cp <容器ID>:<容器内路径> <宿主机路径> 命令可以将文件从容器复制到宿主机。
4、Docker网络
- 列出所有网络:
通过docker network ls 命令可以查看当前Docker环境中的所有网络。
- 创建网络:
使用docker network create <网络名称> 命令来创建一个新的Docker网络。
- 将运行中的容器连接到网络:
执行docker network connect <网络名称> <容器ID> 命令可以将一个正在运行的容器连接到指定的网络。
5、Docker Compose
- 以分离模式启动服务:
使用docker-compose up -d 命令可以在后台启动Docker Compose文件中定义的所有服务。
- 停止服务:
通过docker-compose down 命令来停止并删除由Docker Compose管理的所有服务和网络。
- 构建并启动容器:
执行docker-compose up --build 命令可以在启动服务之前先构建或重新构建服务的镜像。
6、检查与监控
- 检查容器详细信息:
使用docker inspect <容器ID> 命令可以查看容器的详细配置和状态信息。
- 显示资源使用情况(CPU、内存):
执行docker stats 命令可以实时显示Docker容器的资源使用情况。
7、卷管理
- 列出所有卷:
使用docker volume ls 命令可以查看当前Docker环境中的所有卷。
- 创建卷:
执行docker volume create <卷名称> 命令来创建一个新的Docker卷。
- 在运行容器时挂载卷:
使用docker run -v <卷名称>:<容器内路径> <镜像名称> 命令可以在启动容器时挂载一个卷。
8、Docker 清理
杀死所有正在运⾏的容器
1docker kill $(docker ps -a -q)
删除所有已经停⽌的容器
1docker rm $(docker ps -a -q)
删除所有未打 dangling 标签的镜像
1docker rmi $(docker images -q -f dangling=true)
删除所有镜像
1docker rmi $(docker images -q
删除⽆⽤的数据卷
1docker volume rm $(docker volume ls -qf dangling=true)
清理容器和镜像
1docker ps -qa | xargs -n 1 docker rm -f
2docker images -qa | xargs -n 1 docker rmi -f
1docker run -v <卷名称>:<容器内路径> <镜像名称>
2# 清理不再使用的容器、网络和镜像,释放空间