在使用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容器和镜像。如果你有更具体的需求或遇到问题,可以随时提出!
发表回复