Skip to content

docker 常用命令

https://docs.docker.com/reference/cli/docker/container/exec/

基础命令

命令含义示例
docker pull默认从 https://hub.docker.com/ 中拉取镜像docker pull centos:7.8.2003
docker images列出本地所有镜像
docker image rm {镜像id/tag}删除本地镜像或标签;可缩写成 docker rmi
docker ps查看正在运行的容器
docker logs {容器id}查看容器运行输出日志;logs -f 可以持续输出docker logs -f 1519ccae995b
docker stat查看容器占用资源;每秒输出
docker exec在正在运行的容器中执行命令docker exec -it 8568d0de237f /bin/bash
docker run从镜像创建并运行新容器docker run -it python:3.10 /bin/bash
docker cp在容器和本地之间传输文件/目录docker cp default.conf 8568d0de237f:/root/
  • 镜像 id 可以通过 docker images 查看
  • 容器 id 可以通过 docker ps 查看

从镜像启动容器

bash
docker run -it golang /bin/bash
docker run -v $(pwd):/data/www -it 93a9c3556fc0 /bin/bash
docker run -v $(pwd):/app -w /app -it 93a9c3556fc0 /bin/bash -c "goreleaser build --snapshot --rm-dist"
docker run -v $(pwd):/app -w /app -it 2a8f672c9358 /bin/sh -c "npm install && npm run build_docker"
docker run -d -p 6379:6379 --name redis0000 --network wechat-net -v /data/redis0000/data:/data redis redis-server --requirepass 123456
docker run -v $(pwd):/data -it centos /bin/bash
docker run -it --network=host --entrypoint /bin/bash 2a8f672c9358

容器保存为镜像

bash
docker commit 23faaaa8f886 op/node:12.18.2-alpine
  • 常用于创建自定义镜像

镜像保存成文件

bash
docker save dfda7a2cf273 | gzip > node.tgz

从文件导入镜像

bash
docker load < node.tgz

打标签

bash
docker tag dfda7a2cf273 mypython:3

从 Dockerfile 中创建镜像

bash
docker build -t node:v3 .

清理

https://stackoverflow.com/questions/17236796/how-to-remove-old-docker-containers

bash
# 删除无用的镜像、停止的容器、无用的 networks 以及构建缓存
docker system prune         # 会删除 <none> 的镜像
docker system prune -a      # 会删除所有未被当前运行容器使用的镜像,慎用

# 清理无用的 volumes
docker volume prune

# 删除已经停止的容器
docker container prune