docker常用命令记录

421 阅读3分钟

简介

一些常用命令备忘

  • docker -v

  • docker info

  • docker ps

    • "-a:列出正在运行容器+历史上运行过的"
    • "-l:显示最近创建的容器"
    • "-n:显示最近n个创建的容器"
    • "-q: 静默模式,只显示容器编号"
    • "- -no-trunk:不截断输出"
  • docker run XX 启动容器

  • docker stop 容器id

  • docker rm 容器id  删除容器

  • docker rmi -f 镜像ID 删除单个镜像 有”i”代表删除镜像,没有”i”代表container,  -f代表强制删除

  • docker rmi -f 镜像名1:TAG   镜像名2:TAG

  • docker images

  • 启动容器:docker start 容器ID或者容器名

  • 重启容器:docker restart 容器ID或者名

  • 停止容器:docker stop 容器ID或者名

  • 强行停止容器:docker kill 容器ID或者名

  • 删除已停止的容器:docker rm 容器id 删除容器

  • docker run -it IMAGES_ID option说明(常用):

    • " - -name={容器的名字}:为容器指定一个名称;"
    • "-d:后台运行容器,并返回容器ID,也即启动守护式容器"
    • "-i:以交互式模式运行容器,通常与-他-t同时使用;"
    • "-t:以容器重新分配一个伪输入终端,通常与-i 同时使用"
    • "-P:随机端口映射"
    • "-p:指定端口映射,有以下四种方式,(eg; docker run -it --name my_nginx -p 9527:80 nginx)"
  • 退出容器-两种方式

    • exit:容器停止退出
    • ctrl/command+P+Q:容器不停止退出
  • 宿主机与Docker容器文件复制

    • Docker容器向宿主机传送文件
      • 格式:docker cp container_id:<docker容器内的路径> <本地保存文件的路径>
      • 比如:docker cp 10704c9eb7bb:/root/test.text /home/vagrant/test.txt
    • 宿主机向Docker容器传送文件
      • 格式:docker cp 本地文件的路径 container_id:<docker容器内的路径>
      • 比如:docker cp /home/vagrant/test.txt 10704c9eb7bb:/root/test.text
  • 查看日志 docker logs --since 30m sentry-self-hosted-web-1

  • 查看网络配置 docker network ls

  • 查看网络详情 docker network inspect [上面列表里的NAME]

数据卷

  • 数据卷列表 docker volume ls
  • 查看详情 docker volume inspect 【数据卷款名称1】 【数据卷名称2】
  • 一些常用镜像的数据卷挂载位置
    • nginx
      • /etc/nginx/conf.d (nginx配置位置)
      • /usr/share/nginx/html (web站点存放目录)
      • /var/log/nginx (日志目录)
  • Redis /data
  • Mysql /var/lib/msql
[sentry目录]docker volume inspect sentry-data sentry-symbolicator
[
    {
        "CreatedAt": "2024-01-27 XXX",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/sentry-data/_data",
        "Name": "sentry-data",
        "Options": null,
        "Scope": "local"
    },
    {
        "CreatedAt": "2024-01-27 XXXXX",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/sentry-symbolicator/_data",
        "Name": "sentry-symbolicator",
        "Options": null,
        "Scope": "local"
    }
]

daemon.json配置

/etc/docker/daemon.json

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"], // 镜像源
  "data-root": "/home/hellxz/docker-home" // 数据卷在主机的位置
}
  • 删除数据卷 docker volume rm 一个或多个Volume名称
  • 删除所有未使用的数据卷 docker volume prune

清零类型(谨慎使用)

  • 杀死所有运行容器: docker kill $(docker ps -a -q)
  • 删除所有Docker容器 docker rm $(docker ps -a -q)
  • 删除所有Docker镜像 docker rmi $(docker images -q)
  • 删除数据卷:docker volume rm $(docker volume ls -q)
  • 停止 docker 服务 systemctl stop docker
  • 删除存储目录
    • rm -rf /etc/docker
    • rm -rf /run/docker
    • rm -rf /var/lib/dockershim
    • rm -rf /var/lib/docker

docker-compose

安装时注意配置文件执行权限 sudo chmod +x /usr/local/bin/docker-compose

  • 查看查看当前项目下各个容器的运行情况 docker-compose ps
  • docker-compose -v
  • 启动服务 docker-compose up -d --scale worker=4 这里的4是指指定CPU核数启动
  • 停止服务 docker-compose stop
  • 停止服务并删除容器 docker-compose down
  • 重启服务 docker-compose restart
  • docker-compose logs [容器名称]
  • docker-compose logs --filter <过滤条件>
  • docker-compose logs --filter "name=<容器名称>"
  • docker-compose logs --filter "service=<服务名称>"

备注

后续会继续补充