跳到主要内容

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,查看磁盘空间使用情况。
bash
# 查看docker占用了多少磁盘空间
docker system df

# 详细查看docker磁盘空间占用情况
docker system df -v

日志

docker logs <container_id>:查看容器的日志。

-f 参数:持续跟随新日志,follow 的缩写,表示持续跟踪新日志

docker inspect <container_id>:查看容器的详细信息,包括配置、网络等。

docker top <container_id>:查看容器中运行的进程。

bash
# 用来持续查看 web 服务容器的运行日志
docker compose logs -f web