一、Docker 常用命令整理

一、查看容器

  • 查看所有容器

    docker ps -a

  • 查看所有运行的容器

    docker ps

  • 查看最近创建的容器

    docker ps -l

  • 查看最近创建的n个容器

    docker ps -n

  • 过滤查看容器

    docker ps --filter"name=test-nginx" ---按名称过滤

    docker ps --filter status=paused ----按照状态过滤

    docker run -d --name=test-nginx --label color=blue nginx
    docker ps --filter "label=color"
    docker ps --filter "label=color=blue" ----按照标签进行过滤

二、查看日志

  • 查看所有日志

    docker-compose logs

  • 显示某个容器的日志

    docker logs id

  • 查看容器的加上时间戳所有日志

    docker logs -t id

  • 跟踪打印日志

    docker logs -f id

  • 打印最新n条日志

    docker logs --tail n id

  • 过滤包含关键字的日志

    docker logs | grep error

  • 根据时间查询日志

    docker logs --since 2020-03-26T15:00:00 id ------查看2020-03-26T15:00:00之后的日志

    docker logs --since 2020-03-26T15:00:00 --until 2020-03-27T11:00:00 id -----查看2020-03-26T15:00:00到2020-03-27T11:00:00时间段的日志

  • 组合使用

    docker logs -f --since xxx --tail n -t id | grep 'error ' >> error.log

三、创建镜像

  • 使用当前目录的 Dockerfile 创建镜像,标签为a:v1

    docker build -t a:v1

  • 使用URL :github.com/creack/docker-firefox 的 Dockerfile 创建镜像

    docker build github.com/creack/docker-firefox

  • 通过 -f Dockerfile 文件的位置创建镜像

    docker build -f /path/to/a/Dockerfile

四、运行容器

  • 后台模式启动容器

    docker run --name mynginx -d nginx:latest

  • 映射到主机随机端口

    docker run -P -d nginx:latest

  • 台模式启动一个容器,映射端口和目录

    docker run -p 80:80 -v /data:/data -d nginx:latest

  • 交互模式进入容器

    docker run -it nginx:latest /bin/bash

五、启动和停止

  • 启动

    docker start id

  • 停止

    docker stop id

  • 重启容器

    docker restart id

六、移除容器

  • 删除镜像

    docker rmi -f <镜像id>

  • 删除所有镜像

    docker rmi $(docker images -q)

  • 删除所有容器和镜像

    docker system prune -a

  • 移除容器

    docker stop <容器id> ---先停止

    docker rm <容器id> ----再删除

    docker rm -f <容器id> ----强制删除

  • 移除已经停止的容器

    docker rm $(docker ps -a -q)

  • 杀死所有正在运行的容器

    docker kill $(docker ps -a -q)

七、持久化

  • volume(普通数据卷)

    docker volume create for_nginx

    docker volume ls

    docker run -d -p 80:80 --mount type=volume,source=for_nginx,target=/usr/share/nginx/html nginx:1.10

    docker inspect id

  • Bind mounts(绑定数据卷)

    将宿主机的opt目录挂在到容器

    docker run -d -p 80:80 --mount type=bind,source=/opt,target=/usr/share/nginx/html nginx:1.10

  • tmpfs mounts(临时卷)

    docker run -d -p 80:80 --mount type =tmpfs,target=/usr/share/nginx/html nginx

八、其他

  • 查看docker运行状态

    systemctl status docker

  • 开启既启动

    systemctl enable docker

  • 查看docker概要信息

    docker info

  • 查看文件

    vim /etc/docker/daemon.json

  • 导出日志

    docker logs nginx > nginx.log

  • 查看容器配置信息

    docker inspect id

    docker inspect id | grep "IPAddress" 查看IP

  • 容器交互

    docker exec -it ID /bin/bash

    docker exec -it ID -sh

  • 拷贝docker文件到本地

    docker cp ID:/etc/nginx/conf.d/default.conf ./

    ll ----列出文件信息

    cat default.conf ----查看

    vim default.conf ----修改

  • 拷贝本地文件到容器

    docker cp ./default.conf <容器ID>:/etc/nginx/conf.d/default.conf

posted @ 2022-08-03 22:18  码农阿亮  阅读(515)  评论(0编辑  收藏  举报