docker命令
参数使用
-d后台运行容器(Detached 模式),容器启动后不会阻塞终端,可以继续使用终端执行其他命令。-p指定端口映射规则,将容器内部的端口映射到宿主机上,格式为 -p host_port:container_port。-a显示所有容器,包括已停止的容器。-it启用容器的标准输入(stdin)和分配一个伪终端(pseudo-TTY),允许用户与容器内的进程进行交互,通常用于进入容器执行交互式命令。-i表示以交互模式运行-t分配一个伪终端(terminal),通常和-i一起使用-v挂载数据卷,将宿主机上的目录或文件挂载到容器内部,格式为 -v host_path:container_path。--name指定容器的名称。--rm容器停止后自动删除容器--network指定容器使用的网络模式,如 --network bridge 表示使用默认的桥接网络。--link容器链接,将多个容器连接在一起,可以通过容器名称进行通信。--restart指定容器的重启策略,如 --restart always 表示容器总是自动重启。--env设置容器内的环境变量,如 --env NODE_ENV=production 设置 NODE_ENV 环境变量为 production。--detach-keys指定在 Detached 模式下退出容器的快捷键
镜像操作
docker images:列出本地所有的 Docker 镜像。docker pull <image_name>:<tag>:从 Docker 仓库中拉取指定标签的镜像。docker build -t <image_name>:<tag> <path_to_Dockerfile>:根据 Dockerfile 构建镜像。docker push <image_name>:<tag>:将本地镜像推送到 Docker 仓库。
容器操作
docker ps:列出运行中的容器。docker ps -a:列出所有容器,包括已停止的。docker run <image_name>:<tag>:根据镜像创建并启动一个容器。docker start <container_id>:启动一个已停止的容器。docker stop <container_id>:停止一个运行中的容器。docker restart <container_id>:重启一个容器。docker exec -it <container_id>/bin/bash:进入一个正在运行的容器并启动一个交互式的 Shell。
日志和状态
docker logs <container_id>:查看容器的日志。docker inspect <container_id>:查看容器的详细信息,包括配置、网络等。docker top <container_id>:查看容器中运行的进程。
网络和端口
docker network ls:列出 Docker 网络。docker network create <network_name>:创建一个 Docker 网络。docker port <container_id>:查看容器暴露的端口映射情况。
数据卷
docker volume ls:列出 Docker 数据卷。docker volume create <volume_name>:创建一个 Docker 数据卷。docker volume inspect <volume_name>:查看数据卷的详细信息。
清理和删除
docker rm <container_id>:删除一个容器。docker rmi <image_id>:删除一个镜像。- remove image = 删除镜像
docker system prune:清理无用的容器、镜像和数据卷。docker system df查看docker占用了多少磁盘空间- disk free,查看磁盘空间使用情况。
# 查看docker占用了多少磁盘空间
docker system df
# 详细查看docker磁盘空间占用情况
docker system df -v
日志
docker logs <container_id>:查看容器的日志。
-f 参数:持续跟随新日志,follow 的缩写,表示持续跟踪新日志
docker inspect <container_id>:查看容器的详细信息,包括配置、网络等。
docker top <container_id>:查看容器中运行的进程。
# 用来持续查看 web 服务容器的运行日志
docker compose logs -f web