Docker 是一个开源的应用容器引擎,它允许开发者打包应用及其依赖到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。下面是一些常用的 Docker 指令:
(图中 CONTAINER 代表容器id, IMAGE_FILE代表镜像文件名,IMAGE代表镜像名)
1. **查看 Docker 版本**:
```bash
docker --version
```
2. **查看 Docker 信息**(如存储路径等):
```bash
docker info
```
3. **列出所有容器**(运行中和已停止的):
```bash
docker ps -a
```
4. **列出当前运行的容器**:
```bash
docker ps
```
5. **运行一个新容器**:
```bash
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -d --name=nginx -p 8080:80 nginx
```
6. **停止一个或多个容器**:
```bash
docker stop CONTAINER...
```
7. **强制停止容器**:
```bash
docker kill CONTAINER...
```
8. **重启容器**:
```bash
docker restart CONTAINER...
```
9. **删除一个或多个容器**:
```bash
docker rm CONTAINER...
```
10. **从容器中执行命令**:
```bash
docker exec -it CONTAINER COMMAND [ARG...]
```
11. **拉取一个镜像或仓库**:
```bash
docker pull NAME[:TAG|@DIGEST]
```
12. **列出本地镜像**:
```bash
docker images
```
13. **删除一个或多个镜像**:
```bash
docker rmi IMAGE...
```
14. **保存镜像到文件**:
```bash
docker save -o IMAGE_FILE IMAGE
```
15. **从文件加载镜像**:
```bash
docker load -i IMAGE_FILE
```
16. **构建一个新的镜像**:
```bash
docker build -t IMAGE_NAME PATH
```
17. **查看容器日志**:
```bash
docker logs CONTAINER
```
18. **附加到容器的 STDOUT 和 STDERR**:
(docker attach 命令用于附加到一个已经运行中的容器的 STDOUT 和 STDERR。
这可以让你查看容器的标准输出和标准错误流,或者在容器内启动的交互式应用程序中进行交互。)
```bash
docker attach CONTAINER
```
19. **查看容器的统计信息**:
(包括 CPU、内存、网络 I/O 和磁盘 I/O 等信息)
```bash
docker stats
```
20. **查看 Docker 资源使用情况**:
```bash
docker system df
```
21. **清理未使用的容器、镜像和卷**:
```bash
docker system prune
```
22. **创建网络**:
```bash
docker network create NETWORK
```
23. **列出网络**:
```bash
docker network ls
```
24. **连接容器到网络**:
```bash
docker network connect NETWORK CONTAINER
```
25. **断开容器与网络的连接**:
```bash
docker network disconnect NETWORK CONTAINER
```
26. **查看 Docker 守护进程的日志**:
```bash
journalctl -u docker.service
```
27. **重启 Docker 服务**:
```bash
sudo systemctl restart docker
```
28. **查看 Docker 服务状态**:
```bash
sudo systemctl status docker
```
29. **查看镜像版本**:
```bash
docker search 镜像名
```